加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何检测二进制图像中的多边形

发布时间:2020-12-20 11:58:59 所属栏目:Python 来源:网络整理
导读:我想检测二进制图像中连续或闭合多边形的存在.图像可以包含可变数量的边的多边形,并且根本不存在多边形. 这是积极的情况: 和, 这个是否定的情况: 图像处理中是否有任何方法或某些算法来检测连续多边形? 任何形式的帮助表示赞赏. 解决方法 如果你需要检测
我想检测二进制图像中连续或闭合多边形的存在.图像可以包含可变数量的边的多边形,并且根本不存在多边形.

这是积极的情况:

enter image description here

和,

这个是否定的情况:

enter image description here

图像处理中是否有任何方法或某些算法来检测连续多边形?

任何形式的帮助表示赞赏.

解决方法

如果你需要检测凹面和凸面多边形,那么我可以建议你采用另一种方法来做到这一点,一个已经被 @mdh告知过

>首先,你需要找到轮廓(cv2.findContours)
>然后计算轮廓的面积(cv2.contourArea)
>计算二进制图像中黑色区域的面积(计算二进制图像中的黑色像素数,openCv有一个countNonZero函数,它可以帮到你)
>比较2个值,如果它们接近(例如它们的比率接近1,或大于某个值,则应通过测试更多图像来选择它),然后找到的轮廓是闭合的,因此它可能是一个多边形

当然,在自相交多边形中可能存在一些误差,和/或如果图像中存在多个轮廓,但这可以通过仅选取轮廓的边界框的分割来修复,并在每个轮廓上应用算法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读