我正在使用HoughLinesP从灰度图像中提取线条。

下面是我的伪代码。

threshold(img_tmp,bin_img,30,255,cv::THRESH_BINARY);
Canny(bin_img, canny_img, 50, 255, 3);
vector<Vec4i> tmp_lines;
HoughLinesP(canny_img,tmp_lines, 1, CV_PI/360,10, 10, 1);

在缩放的图像中可以看到,单条边(即图像中的单条线)返回的线多于一条。 16,22和0,28以及10,11和23,18,24线对应于单条线。

我如何才能获得单边单线,任何建议?

输入图像:

提取的行

问题

谢谢。

最佳答案

同样,Canny或任何边缘检测算法都不适合此类输入,因为这些线基本上是边缘。尝试在输入上应用某种非最大值抑制,然后在没有任何类型的边缘检测的情况下对霍夫线进行抑制。

10-08 07:02