问题标签 [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.
python - 如何在没有误报的情况下绘制/勾勒图像中形状的边缘?
我正在尝试制作一个脚本,我可以在其中绘制图像中每个形状的轮廓,这在某些情况下有效,但当形状的颜色有些退化时会失败。它旨在绘制形状的轮廓(在这种情况下为矩形),但无法绘制整个矩形,并且还在内部添加了一些误报点。有没有一种方法可以降低对脚本的敏感度或其他可以帮助我实现这一目标的工具?
python - OpenCV轮廓精确的宽度和长度
我试图找出轮廓的确切长度和宽度。基本上我想找出划痕和它们的确切长度。参考下图: 在此处输入图片描述
谁能告诉我如何找到这些裂缝的确切厚度。我已经尝试使用 boundingrect() 函数来检索宽度和高度,但这并不能达到目的,因为它对划痕线不准确。我在想是否可以找到绘制轮廓的临时实现,因为 drawcontours() 能够准确地绘制它们。任何人??
python - OpenCv - 轮廓线段联合
在这里的第一篇文章,我一直在寻找解决问题的方法几天没有结果,我请你帮忙。我对 Python 有足够的经验,但对 OpenCV 的经验很少:我正在尝试分析并获得一条切割线来修剪材料,不包括轮廓附近的缺陷。
在材料图像上,我已经能够获得外轮廓和内轮廓(用于切割),不包括边缘附近的缺陷。
然而,尽管内部轮廓在识别缺陷方面非常完美,但 即使是不应切割的部分也总是会留下偏移量。
我附上照片以清楚说明:红色外边缘(有缺陷),黄色内边缘以消除缺陷:
在这张照片中,有一个我想获得的轮廓示例(对不起,用油漆完成):
我在这里和互联网上尝试了几次搜索以寻找想法,并且我研究了不同的方法(opencv、numpy、scipy、shapely),但无论如何我都无法获得想要的结果。
在实践中,我的困难是识别(我认为应该是一个解决方案)两个轮廓之间的平行度(但是,它们是非常分段的),然后当两者之间的距离为时使黄色轮廓与外部红色轮廓重合小于 X 值。
您对解决问题的方法有什么想法吗?
谢谢你。
python - 如何从外部获取轮廓周围的颜色,以及如何用颜色填充轮廓的内部?
我编写了一个程序,该程序将图片作为输入并检测我需要编辑我的程序以添加另外两个功能的书面文本
首先,因为我已经能够获得轮廓坐标(完成),我想知道如何获得围绕每个字符轮廓线的背景颜色(在多个点,因为我想计算 RGB 颜色的平均值围绕该字符的值)我只是不知道是否已经有一个函数可以做我想做的事情,或者是否有我应该遵循的特定方法
其次,我试图填充轮廓的内部,但它没有用,有人可以帮助我知道为什么我在我的 cv2.drawContours 中同时尝试了厚度 = -1 和厚度 = cv2.FILLE,没有任何效果,显然只有控制线是蓝色的,但里面不是蓝色的
我知道代码并不完美,并且有很多评论,但这是因为我正在尝试新的东西,在此先感谢所有愿意提供帮助的人
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
python - 如何使用 Python OpenCV 擦除在同一图像中绘制的轮廓?
我想知道有没有办法从函数中擦除/删除在图像上绘制的轮廓cv2.drawContours
?
现在,我可以在图像上绘制所有矩形,如下所示:
为了绘制矩形,我使用了以下代码。请注意,这items
是一个点列表
但是,我希望每次只在同一张图像上显示一个矩形,但并非所有矩形都显示在同一张图像上。
例如,
这是要显示的第一个矩形。
但是,当显示第二个矩形时,第一个矩形应该会消失,但不会仍在图像上。
希望有人可以帮助我。谢谢!