数学 – 霍夫变换滤波器线

我已经将OpenCV提供的Hough变换算法应用于图像,现在我有一个行数组,每行包含一个startPoint和一个endPoint.我看到我有多条线可以合并成单行(基于它们的斜率/距离).

如何合并多条具有相同斜率的线?

最佳答案 建议相似性得分来比较两个线段:

  – 加入线段的中段,给你一条直线;

  – 将线段投影到此线上;

  – 根据沿线的横坐标表示四个投影端点.

设计一个得分函数
  – 当两个段重叠时为0;
  – 当间隙段与其他线段相交时为0;
  – 当角度差趋于0时增加(可以是差值的正弦的绝对值);
  – 当投影端点之间的间隙与长度之和的比率趋于0时,增加.

使用这样的相似性得分,您可以合并段,例如使用贪婪的过程.

点赞