霍夫变换累加器设置(rho)

时间:2018-10-02 05:53:07

标签: opencv hough-transform card.io

我一直在研究card.io的算法,在阅读Hough转换脚本时遇到一些困难。

对于霍夫变换,需要设置累加器,该累加器是一个将投票存储在(rho,theta)空间中的网格。

card.io-dmz/cv/hough.cpphttps://github.com/card-io/card.io-dmz/blob/master/cv/hough.cpp#L99)第99行中,表示numrho的rho数由

给出
numrho = cvRound(((width + height) * 2 + 1) / rho);

此处widthheight是ROI的尺寸,而rho是距离分辨率。


问题:我不明白为什么分子是(width + height) * 2 + 1

我的猜测是+ 1将计算零值,而* 2将同时计算+ ve rho和-ve rho。

但是我仍然不明白为什么出现width + height。我认为用sqrt(width*width + height*height)代替它是更直观的,这是rho中可能的最大值。

此设置也用于OpenCV(请参见此链接:https://github.com/opencv/opencv/blob/master/modules/imgproc/src/hough.cpp#L128

任何帮助将不胜感激。谢谢

0 个答案:

没有答案