检测到略微扭曲的线条

时间:2013-09-16 17:44:48

标签: opencv hough-transform

鉴于以下(canny'd)图像,我想抓住完整上水平线的开始/结束端点

我尝试过opencv的HoughLineP函数,但得到的是段而不是整行。我意识到这是由于相机校准失真造成的。

  • 在弯曲扭曲方面,还有其他一些技术更宽容吗?

  • theta参数(HoughLineP函数)如何工作?

  • 或者,什么是连接彼此靠近的点的好方法(以某种方式类似的角度)

原始

Original

代码:

Mat scene = imread("houghLines.png", 0);

vector<Vec4i> lines;
HoughLinesP(scene, lines, 1, CV_PI/180, 40, 100, 20 );

cvtColor(scene, scene, COLOR_GRAY2BGR); scene *= 0.5; // convert to colour

auto colours = generateColours((int)lines.size());
for(int i = 0; i < lines.size(); i++) {
    auto l = lines[i];
    line(scene, Point(l[0], l[1]), Point(l[2], l[3]), colours[i], 1, CV_AA);
}

imshow("scene", scene);
imwrite(getTempFilename(), scene);
waitKey();

结果:

Result

0 个答案:

没有答案