我发现霍夫变换了更多的线条但是我的最终目标非常相似。
例如
在这张图片中我有5行但我真的只需要2行。
如何删除不必要的行?
我的代码是
image = cv.Canny(image, 200);
lines = cv.HoughLinesP(image,'Threshold',80,'MinLineLength',100,'MaxLineGap',50);
一种简单的方法可以是线相交,但在某些情况下,线可以是平行的,非常接近。
有什么想法吗?
答案 0 :(得分:0)
我会计算线条的斜率和截距,并比较它们以确定它们是否两个在您定义的某个公差范围内。应该在相同的坐标系上描述截距,比如在像素r处的原点,c =(0,0)。然后可以合并相同的行。我能想到的唯一失败案例是,如果你有非连续的线段具有相同的斜率和截距 - 那些将与这种方法合并。但在你的形象中,你似乎没有这个问题。
答案 1 :(得分:0)
我的粗略方法是
我用它来检测卡片的边缘,所以我选了四条最好的线。