我将在形状中找到最像外观的矩形。第一张图像是原始图像,其形状可能是矩形,但它们不是。第二张图片中的绿色矩形是我想要的。那么有没有办法用opencv做到这一点?我已经尝试过hough line但结果并不好
源图片:
我想要的是找出这些形状中最像样的矩形,比如绿色的矩形。
我想要的:
答案 0 :(得分:1)
一种非常简单的方法是,在您的形状周围有一个矩形边界框后,计算该框内白色的像素百分比。
白色像素的百分比越高,最接近矩形。
要获取边界框,你应该看一下opencv中的findContours,或者一些Blob提取算法,你会发现很多关于这些的问题。
修改:
也许您首先应该获得形状的最小边界矩形,然后执行此类启发式操作:
要获取最小边界矩形(包含整个形状的最小矩形),您可以查看本教程:
有一点可能也有帮助,即从最小边界矩形和最大内部矩形(可以在白色形状内部放入的最大矩形)中进行尺寸差异。这些矩形的属性(宽度,高度,面积,中心坐标)之间的差异越小,最接近的是矩形的形状。