gpt4 book ai didi

python - 如何检测二值图像中的多边形

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:14 25 4
gpt4 key购买 nike

我想检测二进制图像中是否存在连续或闭合的多边形。图像可能包含边数可变的多边形,也可能根本没有多边形。

这是正面案例:

enter image description here

还有,

这个是负例:

enter image description here

在图像处理中有什么方法或算法可以检测连续的多边形吗?

感谢任何形式的帮助。

最佳答案

如果你需要同时检测凹多边形和凸多边形,那么我可以建议你另一种方法,@mdh 已经告诉你了。

  1. 首先,您需要找到等高线 ( cv2.findContours )
  2. 然后计算轮廓的面积 ( cv2.contourArea )
  3. 计算二值图像中黑色区域的面积(计算二值图像中黑色像素的数量,openCv 有一个 countNonZero 函数,可以帮你完成)
  4. 比较这2个值,如果它们很接近(例如它们的比率接近1,或者大于一个值,你应该通过更多图像测试来选择它),那么你找到的轮廓是闭合的,所以它可能是多边形

当然,自相交多边形和/或如果图像中有多个轮廓可能会出现一些错误,但这可以通过仅选取轮廓的边界框并应用算法的分割来解决在每一个上。

关于python - 如何检测二值图像中的多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43047355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com