是否可以在 Canny Edge 框架上显示彩色文本?

Is it possible to display colored text on a Canny Edge frame?

请原谅我的问题,我是OpenCV的新手。我在人数统计程序上使用精明的边缘检测,每次有人走进框架时,都会在该人的中心放置一个 ID 点。在我应用代码生成 canny 边缘之前,我将 ID 显示为绿色,但是,对于 canny 边缘我看不到任何颜色。相反,ID 只是轮廓,仅此而已。我非常想保留颜色,因为这样在黑白背景下更容易看清。

这是我在出现 Canny Edge 后的画面

在左下角,您可以看到一些我想要着色的文本,但已被边缘更改。

是否可以结合 Canny 边缘检测显示彩色文本?

我使用 opencv 4.0.1 进行了测试,它按预期工作:您可以将边缘输出图像转换为 bgr 图像,然后放入您需要的所有彩色元素。 这是一个如何做到这一点的小例子:

    import cv2 as cv
    img = cv.imread(filename, cv.IMREAD_COLOR) 
    img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)

    filt = cv.medianBlur(img_gray, 9)
    filt = cv.blur(filt, (3, 3))

    edges = cv.Canny(filt, 10, 50)

    edges_bgr = cv.cvtColor(edges, cv.COLOR_GRAY2BGR)
    w,h = edges_bgr.shape[:2]
    center = (int(h/2), int(w/2))
    radius = 100
    cv.circle(edges_bgr, center, radius, (255,128,0), 3)

    font = cv.FONT_HERSHEY_SIMPLEX
    bottomLeftCornerOfText = center
    fontScale = 1
    lineType = 2

    cv.putText(edges_bgr,'Text with colors', 
                bottomLeftCornerOfText, 
                font, 
                fontScale,
                (0,128,255),
                lineType)

    cv.imshow("edges with colors", edges_bgr)