检测二进制图像中的简单线条(线条向量)

我有一个带有细线图的简单二进制图像,其目标是从下面的图像创建一个单独的边缘/线的矢量-总体目标是创建一个邻接图(数据结构)。

检测二进制图像中的简单线条(线条向量)

到目前为止,我已经使用cv::HoughLinesP()给出了一些但不是全部的边缘。我可以通过迭代它们存储在其中的矢量来绘制这些边缘/线条。

// perform probabilistic hough line extraction
std::vector<cv::Vec4i> vec_lines;
cv::HoughLinesP(
    img_edges,// input img (from edge detector)
    vec_lines,// ouput vector of [x_start,y_start,x_end,y_end] for each line
    1,// resolution of parameter rho in pixels
    CV_PI/180,// resolution of theta in radians
    10,// minimum number of intersections to “detect” a line
    5,// minimum number of points that can form a line
    0             // maximum gap between two points to be considered in the same line
);

// draw lines
for (const auto& l : vec_lines)
    cv::line(img_out,cv::Point(l[0],l[1]),cv::Point(l[2],l[3]),cv::Scalar(255,255),1,8);

结果如下:

检测二进制图像中的简单线条(线条向量)

参数不足还是有更好的方法?

pantial 回答:检测二进制图像中的简单线条(线条向量)

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3024920.html

大家都在问