霍夫累加器和局部最大值

时间:2014-12-26 21:46:13

标签: opencv

阅读hough.cpp后,我不明白这一行:

r += (numrho - 1) / 2; 

我们找到了rho:方程int r = cvRound( j * tabCos[n] + i * tabSin[n] );为什么要添加r+=r += (numrho - 1) / 2;

如果有人能够准确地解释本地最大查找操作,那将是非常好的。

可以在https://github.com/Itseez/opencv/blob/master/modules/imgproc/src/hough.cpp

找到霍夫代码

2 个答案:

答案 0 :(得分:0)

我没有在CPP中编程,但我相信cvRound对象已经使用了数学运算符,通过使用数学运算来改变cvRound对象的某些方面。这是关于cvRound对象的一些信息。

http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/hough_circle/hough_circle.html

以下是有关CPP中加法运算符的一些信息。

http://www.programiz.com/cpp-programming/operator-overloading

通过查看这些来源,我希望你找到你想要的东西。

答案 1 :(得分:0)

在参数空间(r,theta)中,我们有

r = x cos(theta)+ y sin(theta)

关键是 r可能是否定的

所以你应该通过添加(numrho - 1)/ 2

将r转换为非负面的

希望它有所帮助。