【问题标题】:Hough accumulator and the local maximum霍夫累加器和局部最大值
【发布时间】:2017-12-10 13:57:14
【问题描述】:

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

r += (numrho - 1) / 2; 

我们找到了 rho :with the equation 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

【问题讨论】:

    标签: opencv


    【解决方案1】:

    我没有在 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

    通过查看这些资源,我希望您能找到所需的内容。

    【讨论】:

      【解决方案2】:

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

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

      关键是 r 可能是负数

      所以你应该通过添加 (numrho - 1) / 2 将 r 转换为非负数

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-22
        • 2012-07-06
        • 2017-04-15
        • 1970-01-01
        相关资源
        最近更新 更多