【发布时间】:2019-10-25 22:43:54
【问题描述】:
请原谅我的问题,我对 OpenCV 很陌生。我在一个人数统计程序上使用精明的边缘检测,每次有人走进框架时,都会在人的中心放置一个 ID 点。在我应用代码生成精明边缘之前,我将 ID 显示为绿色,但是,精明边缘我看不到任何颜色。相反,ID 只是轮廓,仅此而已。我非常想保留颜色,因为它可以让黑白背景更容易看到。
这是我在 Canny Edge 发生后的帧图片
在左下角,您可以看到一些我想要着色的文本,但已被边缘更改。
是否可以结合 Canny Edge 检测显示彩色文本?
【问题讨论】:
-
在c++中,可以通过copyto函数来完成。我不知道python中是否有相同的功能。
-
边缘检测后渲染文本并将边缘图像转换为3通道图像。
-
米卡说得很好。您可以通过这种方式解决您的问题:执行边缘检测,然后将输出(它是单通道图像)转换为彩色图像( gray2bgr 应该可以工作),然后使用您喜欢的颜色渲染您的文本。
-
@MauroDorni 如果我使用的是 OpenCV 4.1 版,我认为 gray2bgr 是不可能的,有没有其他方法可以将 1 通道图像转换为 3 通道图像?
-
你确定吗? docs.opencv.org/4.1.0/de/d25/imgproc_color_conversions.html,这里有 cv.COLOR_BGR2GRAY
标签: python opencv edge-detection canny-operator