math - 霍夫变换过滤线

标签 math opencv graphics geometry

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

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

最佳答案

关于比较两条线段的相似性分数的建议: - 加入线段的中间,给你一条直线; - 将线段投影到这条线上; - 沿线的横坐标表示四个投影端点。

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

使用这样的相似度分数,您可以合并片段,例如使用贪心过程。

关于math - 霍夫变换过滤线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20615082/

相关文章:

c++ - 给定点到给定椭圆的距离

math - 统计数据 - 加权差异?

c++ - 提高指数移动平均整数乘法和除法的准确性

python - 如何裁剪最大的矩形并应用环绕变换

c++ - 使用 OpenCV 进行眼睛检测(从 "Scream' s mask 检测眼睛”)

java - Java 上的 Graphics2D 笔划尖峰

math - 计算 bool 表达式的简化乘积和

c++ - 当我运行曲线匹配代码时,出现错误

c++ - 尽管签名匹配示例和源代码,但 vulkan 图形管道的参数错误

java - 老虎机动画(最好用 Java/SVG 编写)