OpenCV中概率Hough变换的具体实现是什么?

gal*_*ica 6 opencv hough-transform

有没有人知道OpenCV实现中的概率Hough变换的特定算法?我的意思是,是否有关于算法的参考文件或文档?

为了得到这个想法,我当然可以查看源代码,但我想知道是否有任何关于它的文档. - 它不在源代码的注释中(OpenCV 1.0).

谢谢!

-斤

小智 7

OpenCV文档指出算法基于J Matas等人的"使用渐进概率霍夫变换对线进行鲁棒检测".这与维基百科上描述的RHT完全不同.

这篇论文似乎没有在互联网上免费提供,但你可以从Elsevier中获取它


Den*_*nis -1

这是一篇关于随机霍夫变换的文章,我相信它与 OpenCV 中使用的“概率霍夫变换”相同 http://en.wikipedia.org/wiki/Randomized_Hough_Transform

基本上,您不会填充所有点的累加器,而是选择具有特定标准的一组点来填充霍夫变换。

结果是,有时,如果开始时没有足够的点,您可能会错过实际的路线。我想如果你有一些线性结构,你会想使用这个,这样大多数点都是多余的。参考文献 2:L. Xu、E. Oja 和 P. Kultanan,“一种新的曲线检测方法:随机霍夫变换 (RHT)”,Pattern Recog。莱特。11, 1990, 331-338。

我还读到了一些非常不同的方法,其中算法将采用两个点并计算这两个点中间的点。如果该点是边缘点,那么我们会累积该线的 bin。这显然非常快,但您会假设一个有点非稀疏的矩阵,因为如果没有足够的边缘点开始,您可能很容易错过线条。

  • 随机霍夫变换与渐进概率霍夫变换不同。前者采用映射到霍夫空间中单个单元的随机点元组。它迭代地执行此操作,一旦累加器单元越过阈值,就会检测到线/平面。后者有一个过滤机制,通过考虑投票给某个单元的票数占总票数的百分比来消除噪音。请参阅:“用于点云中平面检测的 3D 霍夫变换:回顾和新的累加器设计”,作者:Borrmann 等人。(2011) (5认同)