问题标签 [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 回答
101 浏览

python - 如何在没有误报的情况下绘制/勾勒图像中形状的边缘?

我正在尝试制作一个脚本,我可以在其中绘制图像中每个形状的轮廓,这在某些情况下有效,但当形状的颜色有些退化时会失败。它旨在绘制形状的轮廓(在这种情况下为矩形),但无法绘制整个矩形,并且还在内部添加了一些误报点。有没有一种方法可以降低对脚本的敏感度或其他可以帮助我实现这一目标的工具?

0 投票
0 回答
61 浏览

python - 如何在我的每个凸包内找到像素?

我试图在图像中找到手时卡住了。取回我手周围的凸包后。我现在想遍历每个船体内部的所有像素(但无法弄清楚如何访问每个船体内部的像素)。

稍后,检查每个像素是否为黑色,然后使用最接近的像素值对其进行更新。无论是白色还是绿色。

然后,我想消除除白色以外的其他颜色,那将是我找到的手。

但首先我需要迭代每个船体内部的像素。请在这里帮忙。

下面是我从轮廓中检索船体的代码片段。

我试图阅读很多不同的答案,但没有一个是可以理解的。任何简单的解释都会很有帮助

TIA

手周围凸包的结果图像

0 投票
1 回答
50 浏览

python - OpenCV轮廓精确的宽度和长度

我试图找出轮廓的确切长度和​​宽度。基本上我想找出划痕和它们的确切长度。参考下图: 在此处输入图片描述

谁能告诉我如何找到这些裂缝的确切厚度。我已经尝试使用 boundingrect() 函数来检索宽度和高度,但这并不能达到目的,因为它对划痕线不准确。我在想是否可以找到绘制轮廓的临时实现,因为 drawcontours() 能够准确地绘制它们。任何人??

0 投票
0 回答
48 浏览

swift - 无法使用 Swift 显示 OpenCV 的 drawContours 绘制的线条

我让 openCV 在 Swift 中工作,并且能够使用 findContours()(我设置了一个打印语句并且知道它正在工作)。

我还成功获得了黑白二值图像。

尽管如此,我还是无法弄清楚如何让 drawContour() 工作。这是我的代码:

这是结果:

结果

这就是我想要实现的----物体周围的红线。

我想要达到的——红线

我真的不知道问题出在哪里。任何人,请帮助。提前致谢。

0 投票
0 回答
23 浏览

python-3.x - 有没有更好的方法来识别杂乱图像中的非结构化日文文本并使用 pytesseract 进行一些图像处理操作

最初,我对所有 OCR 算法进行了调查,我发现 tesseract 是最快和准确的,但在结构化文本中。所以我正在尝试做一些图像操作,以便杂乱图像中的文本也可以被识别。

我试过这段代码

它工作正常,但仍然未检测到图像日文文本 日文文本 2,我也尝试了精明的边缘检测和轮廓检测,但仍然无法识别文本。即使图像质量很好,这也无法识别

0 投票
1 回答
134 浏览

python - OpenCv - 轮廓线段联合

在这里的第一篇文章,我一直在寻找解决问题的方法几天没有结果,我请你帮忙。我对 Python 有足够的经验,但对 OpenCV 的经验很少:我正在尝试分析并获得一条切割线来修剪材料,不包括轮廓附近的缺陷。

在材料图像上,我已经能够获得外轮廓和内轮廓(用于切割),不包括边缘附近的缺陷。

然而,尽管内部轮廓在识别缺陷方面非常完美,但 即使是不应切割的部分也总是会留下偏移量

我附上照片以清楚说明:红色外边缘(有缺陷),黄色内边缘以消除缺陷:

外轮廓和内轮廓

在这张照片中,有一个我想获得的轮廓示例(对不起,用油漆完成):

内轮廓方面

我在这里和互联网上尝试了几次搜索以寻找想法,并且我研究了不同的方法(opencv、numpy、scipy、shapely),但无论如何我都无法获得想要的结果。

在实践中,我的困难是识别(我认为应该是一个解决方案)两个轮廓之间的平行度(但是,它们是非常分段的),然后当两者之间的距离为时使黄色轮廓与外部红色轮廓重合小于 X 值。

您对解决问题的方法有什么想法吗?

谢谢你。

0 投票
1 回答
174 浏览

python - OpenCV:在不使用 RETR_EXTERNAL 的情况下删除形状轮廓上的双重轮廓

Open CV 将注册多边形轮廓的内部和外部轮廓。

使用下面的测试代码运行

在图像上

空心正方形

将在外边缘和内边缘上产生两组轮廓,如图所示

双轮廓

有没有什么快速的方法可以将两组轮廓折叠成一个轮廓,最好是两者的平均值?总的来说,我对 CV2 和计算机视觉还很陌生,所以我不知道很多技巧。我宁愿不使用RETR_EXTERNAL,因为我不想错过任何嵌套的形状。

0 投票
1 回答
47 浏览

python - 如何从外部获取轮廓周围的颜色,以及如何用颜色填充轮廓的内部?

我编写了一个程序,该程序将图片作为输入并检测我需要编辑我的程序以添加另外两个功能的书面文本

首先,因为我已经能够获得轮廓坐标(完成),我想知道如何获得围绕每个字符轮廓线的背景颜色(在多个点,因为我想计算 RGB 颜色的平均值围绕该字符的值)我只是不知道是否已经有一个函数可以做我想做的事情,或者是否有我应该遵循的特定方法

其次,我试图填充轮廓的内部,但它没有用,有人可以帮助我知道为什么我在我的 cv2.drawContours 中同时尝试了厚度 = -1 和厚度 = cv2.FILLE,没有任何效果,显然只有控制线是蓝色的,但里面不是蓝色的

我知道代码并不完美,并且有很多评论,但这是因为我正在尝试新的东西,在此先感谢所有愿意提供帮助的人

在此处输入图像描述

0 投票
0 回答
53 浏览

opencv-drawcontour - 我想找到计数器,但此代码显示错误

导入简历2

将 numpy 导入为 np

将 matplotlib 导入为 mp

image=cv2.imread('D:\instagramphotos\IMG_2012.jpg')

图像=cv2.resize(图像,(700,500))

imgrey=cv2.cvtColor(图像,cv2.COLOR_BGR2GRAY)

ret,thresh=cv2.threshold(imgrey,200,255,0)

计数器,层次结构=cv2.findContours(阈值,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)

print("计数器编号:", len(counter))

cv2.drawContours(imgrey,thresh,-1,(255,0,0),3)

cv2.error: OpenCV(4.5.4-dev) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\drawing.cpp:2501: error: (-215:Assertion failed) npoints >函数'cv :: drawContours'中的0

0 投票
1 回答
30 浏览

python - 如何使用 Python OpenCV 擦除在同一图像中绘制的轮廓?

我想知道有没有办法从函数中擦除/删除在图像上绘制的轮廓cv2.drawContours

现在,我可以在图像上绘制所有矩形,如下所示:

所有矩形

为了绘制矩形,我使用了以下代码。请注意,这items是一个点列表

但是,我希望每次只在同一张图像上显示一个矩形,但并非所有矩形都显示在同一张图像上。

例如,

这是要显示的第一个矩形。

但是,当显示第二个矩形时,第一个矩形应该会消失,但不会仍在图像上。

希望有人可以帮助我。谢谢!