问题标签 [opencv-drawcontour]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4610 浏览

python - cv2.drawContours 没有显示正确的颜色

我正在尝试确定动脉的宽度,并制定了一个非常粗略的程序来验证 drawContours 是否合适。我的问题是轮廓只打印黑色或白色线条,而不是我尝试使用的彩色线条。我不确定我正在绘制的img是否仅限于 bw 或者我的轮廓设置错误。第二个图像是附加到原始图像的轮廓。 输出图像

0 投票
0 回答
146 浏览

python - 在红板图像上绘制轮廓

嗨,我正在开发一个需要找到车牌轮廓的程序,车牌一切都很好,但是当我尝试获取红牌的轮廓时,它没有正确显示轮廓,我检查了所有将图像转换为灰色然后模糊图像然后对图像进行阈值以实现查找轮廓的结果,这些是图像:

原图:

在此处输入图像描述

灰度图像:

在此处输入图像描述

图像阈值:

在此处输入图像描述

找到轮廓:

在此处输入图像描述

如图所示,我想获得阿拉伯数字周围的轮廓,但数字周围的阈值内部是白色和黑色,因此它不能完美地围绕它们

就像这张图片:

在此处输入图像描述

这是我处理两个图像的代码:

0 投票
1 回答
71 浏览

python - 如何用已知坐标对图像区域进行轮廓化?

我有一张超声图像和每个图像的肿瘤坐标(x 和 y 点的阵列)。如何使用“cv.drawContours()”用那些已知的坐标在肿瘤周围绘制轮廓?我希望删除肿瘤周围的所有信息,只保留肿瘤图像/信息。

具有肿瘤 ROI 的超声图像

我收到此错误: error Traceback (most recent call last) <ipython-input-25-59da73cb5b29> in <module> 2 imagem = cv2.imread('thyroid/2_1.jpg', cv2.IMREAD_GRAYSCALE) 3 ----> 4 cc=cv2.drawContours(imagem,temp,3,(0,255,0),3) error: OpenCV(3.4.1) C:\Miniconda3\conda-bld\opencv-suite_1533128839831\work\modules\imgproc\src\drawing.cpp:2515: error: (-215) npoints > 0 in function cv::drawContours 如何解决此错误?因为我的轮廓是一个列表

img = cv2.imread('thyroid/2_1.jpg', cv2.IMREAD_GRAYSCALE) temp=temp.astype(np.int32) cc=cv2.drawContours(img,[temp.astype('i4')],-1,(0,255,0),3)

0 投票
1 回答
797 浏览

python - Open CV:绘制表格缺失的轮廓/线条

我得到了一些缺少行的表格,因此单元格没有关闭(封面丢失)。我不想垂直延伸的开放线,而是我想画一条水平线来关闭它们。有没有办法检测开放线并检索它们的结束位置以准确绘制轮廓?

在此处输入图像描述

我尝试了以下代码(来自https://stackoverflow.com/questions/22240746/recognize-open-and-closed-shapes-openc v ),但它没有在图像中绘制线条:

0 投票
1 回答
312 浏览

opencv - Detection of color with a trackbar and finding the contour of the desired color

I want to use a trackbar to select the desired color and than get the contour with the x and y coordinates of it. When i run the code i get the next error: contours, _ = cv2.findContours(bin, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\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'

The input image for detecting the contour is binary so i dont know what im doing wrong here. And this is the code im using:

Can someone help me with this issue thanks a lot!

0 投票
1 回答
86 浏览

opencv - OpenCV:跟踪视频捕获上的标记线。最好的方法是什么?

我正在寻找在我的相机上捕捉标记绘制的空形状的方法。这就像在一张空白明信片上用任何颜色的标记画一个矩形、一个圆或椭圆(卡片大小的 2/3)。当我打开相机时,我想使用 openCV 来“追踪”确切的线条。即视频捕获。

我现在拥有的是

  1. cvtColor 为灰色。

  2. 双边滤波器(5, 100, 100)

  3. 精明(下:50,最大 255)

  4. 查找轮廓
  5. drawContours,到我的框架上。

虽然这目前有效,但我猜可能有更好的方法,因为我检测到的内容非常清楚。白色背景下的纯色。有没有更好的方法来检测和追踪我的线路?

PS 当我的记号笔变薄时,上述操作失败。我希望它适用于铅笔

0 投票
1 回答
41 浏览

opencv - 如何检测 OpenCV 中的填充线?

我使用 Canny 和 findContour 来检测我绘制的彩色线条的轮廓。但是,正因为如此,我目前面临有界线的问题。我想要的是覆盖和检测整条线。

这就是我现在拥有的: https ://imgur.com/vnwu3Qf

我希望蓝色检测线覆盖正在绘制的整条线。不仅仅是画线的周长。这怎么可能?

0 投票
1 回答
49 浏览

python - 用四个顶点填充多边形

我有 4 个点将多边形识别为图像,这个多边形或多或少是一个矩形。我想填充这个多边形。我一直在尝试fillConvexPoly,但它用其中的 3 个点填充了一个三角形。为什么?

另外,我一直在尝试drawContours,但我没有轮廓。是否有任何函数可以创建一条穿过所有这些点的线,从而创建一个看起来像矩形的多边形?

那么,我该如何解决呢?

0 投票
1 回答
55 浏览

python - 将线逼近到轮廓

希望大家在这些关键时刻都做得很好。我目前正在使用 OpenCV python 进行路面分割任务,但遇到了一个问题。

看看下面的图片:

我正在尝试找到近似直线,如下面的手绘草图中的红色所示:

我在二进制掩码上尝试了轮廓逼近,但这给出了封闭的多边形。我试图调整该epsilon值,但我最多只能得出一个三角形:

谁能帮我解决这个问题?谢谢

0 投票
1 回答
932 浏览

c# - Emgucv 自动裁剪检测到的形状

我有一个应用程序,它将用于从扫描的文档中裁剪空白区域,例如这张图片。我想要做的是只提取卡片并删除所有白色/空白区域。我正在使用 Emgucv FindContours 来执行此操作,目前我能够在图像中找到卡片轮廓和扫描仪捕获的一些噪声,如下所示。

在此处输入图像描述

我的问题是如何裁剪找到的最大轮廓或如何通过删除其他轮廓和空白/空白来提取它?或者也许可以使用轮廓索引?

编辑:也许另一种可能的解决方案是是否可以将轮廓绘制到另一个图片框。

这是我正在使用的代码: