作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 OpenCV 从图像中检测矩形或五边形?我有很多名片的图片,我必须检测它们的边。名片实际上是矩形的,但有时名片的角被裁剪了。我已经尝试过 HoughLinesP()
函数,但它只是找到线。
我必须检测图片上方的形状,这意味着我需要检测名片边缘,而不管形状是矩形还是五边形,并且只需要从图像中裁剪名片对象。
预期结果:
最佳答案
您可以按照以下步骤操作:
使用 findContours
查找图像中的轮廓。
执行 approxPoly
以获得图像中存在的所有轮廓的多边形形状。
检查近似轮廓大小(多边形的边数):
如果边数是4 => 矩形
如果边数是5 =>五边形
代码是用 python 编写的,但应该很容易转换为 C++:
import cv2
gray = cv2.imread('img.png',0)
ret,thresh = cv2.threshold(gray,127,255,1)
contours,h = cv2.findContours(thresh,1,2)
for cnt in contours:
approx = cv2.approxPolyDP(cnt,0.01*cv2.arcLength(cnt,True),True)
if len(approx)==5:
print "pentagon"
elif len(approx)==4:
print "rectangle"
关于python - OpenCV - 检测矩形或五边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37691479/
您可以在此处检查 Reuleaux 三角形的定义: https://en.wikipedia.org/wiki/Reuleaux_triangle 我一直在处理 2D 几何形状并进行检查,设置测试以查
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 4 年前。 Improve
我正在 html 5 Canvas 上开发一个游戏,我必须将图像剪辑成多种形状。我还想使用鼠标事件加入这些剪辑的图像。我可以只剪一个正方形吗?另外,是否有必要保存每个剪切图像的 x 和 y 坐标以了解
我是一名优秀的程序员,十分优秀!