如何使用python在openCV 4中绘制绘制等高线

如何使用python在openCV 4中绘制绘制等高线,python,opencv,contour,Python,Opencv,Contour,我开始疯狂地使用openCVs绘制轮廓。每次我运行代码时,都没有显示任何内容。Src图像和轮廓计算得很好,但我做错了什么 grayFrame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) blurredImg = cv2.GaussianBlur(grayFrame,(5,5),0) optimumThreshold, bw = cv2.threshold(blurredImg,120,255,cv2.THRESH_BINARY+cv2.THRESH_O

我开始疯狂地使用openCVs绘制轮廓。每次我运行代码时,都没有显示任何内容。Src图像和轮廓计算得很好,但我做错了什么

grayFrame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

blurredImg = cv2.GaussianBlur(grayFrame,(5,5),0)

optimumThreshold, bw = cv2.threshold(blurredImg,120,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)

contours, hierarchy = cv2.findContours(bw, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

cv2.drawContours(bw, contours, 1, (153,0,0), 4)    

你能提供一些图像吗?不幸的是,没有,因为cv2.drawContour没有绘制任何东西。使用命令cv2.imageshow('name',bw)打印src图像效果良好。但是,无论我在等高线之前还是之后绘制src,曲线都不会显示在任何绘图中(没有cv2.imageshow('name',bw),甚至根本没有出现绘图窗口)。轮廓提取工作正常,我可以在使用matplotlib进行一些数组操作后绘制它们(遗憾的是,这不适合我的用例,因此不是OpenCV的选项)。有什么想法吗/指定要使用as
(153,0,0)
绘制的颜色有点误导,因为您正在绘制单通道图像。考虑到这一点,我希望看到蓝色的输出,但实际上它会变成灰色。您实际希望看到什么样的输出?至少任何东西:我将轮廓颜色更改为(153,0,0)rgb,因为以灰度绘制时可以很容易地看到结果颜色。您是否建议在彩色src图像中打印?我仍然不明白为什么当运行cv2.drawContours作为单个命令时,甚至一个打印窗口都没有打开…你能提供一些图像吗?不幸的是,不能,因为cv2.drawContours没有打印任何东西。使用命令cv2.imageshow('name',bw)打印src图像效果良好。但是,无论我在等高线之前还是之后绘制src,曲线都不会显示在任何绘图中(没有cv2.imageshow('name',bw),甚至根本没有出现绘图窗口)。轮廓提取工作正常,我可以在使用matplotlib进行一些数组操作后绘制它们(遗憾的是,这不适合我的用例,因此不是OpenCV的选项)。有什么想法吗/指定要使用as
(153,0,0)
绘制的颜色有点误导,因为您正在绘制单通道图像。考虑到这一点,我希望看到蓝色的输出,但实际上它会变成灰色。您实际希望看到什么样的输出?至少任何东西:我将轮廓颜色更改为(153,0,0)rgb,因为以灰度绘制时可以很容易地看到结果颜色。您是否建议在彩色src图像中打印?我仍然不明白为什么当运行cv2.drawContours作为单个命令时,甚至没有打开绘图窗口。。。