Python - opencv 在 Canny 边缘图像周围绘制边界框

Posted

技术标签:

【中文标题】Python - opencv 在 Canny 边缘图像周围绘制边界框【英文标题】:Python - opencv Draw Bounding Boxes around Canny edge image 【发布时间】:2021-12-03 08:07:28 【问题描述】:

我有一张经过处理以使用精明边缘算法查找边缘的图像,现在我需要在这些形状周围绘制边界框。问题是当我使用时

cv2.findContours

我收到这个错误

error: OpenCV(4.1.2) /io/opencv/modules/imgproc/src/contours.cpp:197: error: (-210:Unsupported format or combination of formats) [Start]FindContours supports only CV_8UC1 images when mode != CV_RETR_FLOODFILL otherwise supports CV_32SC1 images only in function 'cvStartFindContours_Impl'

图像是猪的形状。

我怎样才能做到这一点?

【问题讨论】:

将图像转换为 uint8。它可能是浮动的,不适用于 findContours 【参考方案1】:

需要有关您的情况的更多信息,但您似乎必须在使用该功能之前转换您的图像。 喜欢

image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
image = image.astype("uint8")

尝试在使用该功能之前执行此代码。

【讨论】:

以上是关于Python - opencv 在 Canny 边缘图像周围绘制边界框的主要内容,如果未能解决你的问题,请参考以下文章

opencv python:Canny边缘提取

Python - opencv 在 Canny 边缘图像周围绘制边界框

在python中从opencv中分离多个canny边缘检测的坐标

Python,Opencv cv2.Canny()边缘检测

OpenCV中Canny边缘检测和霍夫变换的讲解与实战应用(附Python源码)

使用 OpenCV python 在一个窗口中结合多个 Canny 边缘检测