我正在尝试检测图像中的线段。

据我所知,霍夫算法检测的是线,但不是线段。

有谁知道我将如何解决这个问题,或者有任何适合于此的库?

就我而言,我正在尝试从照片中检测星迹(出于这些目的,这些星迹都是直的),以便我可以将它们还原为点。

如果它很重要,我会尝试用 C# 实现它

有任何想法吗?

有帮助吗?

解决方案

对于不拖尾的运动模糊,你应该看看 反卷积. 。霍夫变换可能有助于找到原始运动向量(我怀疑它对于一堆平行线段来说效果很好),但是反卷积是你用来从中取出原始星星的方法,这些人使用估计原始运动矢量的不同方法:

before after

其他提示

openCV霍夫变换cvHoughLines2有一个检测线段的概率模式:

  • CV_HOUGH_PROBABILISTIC - 概率霍夫变换(如果图片包含一些长线性段,则效率更高)。它返回线段而不是整条线。每个段都由起点和终点表示,并且矩阵必须是(创建的序列将是)CV_32SC4类型。

我已经测试过了并且有效

看那 LSD线段检测器配合使用,实现细节和源代码发布

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top