关于霍夫变换概率的问题

时间:2019-05-15 06:17:14

标签: c++ opencv transform probability

我正在实现霍夫变换概率算法。

我了解了算法的精髓,但是有些事情我不理解。

下面的代码来自OpenCV,我知道其余的行,但是为什么他们将numrho设置为((width * height)* 2 +1)/ rho而不是(0,0)到(宽度,高度)?

int i, j;
float irho = 1 / rho;

CV_Assert( img.type() == CV_8UC1 );

const uchar* image = img.ptr();
int step = (int)img.step;
int width = img.cols;
int height = img.rows;


int numangle = cvRound((max_theta - min_theta) / theta);
int numrho = cvRound(((width + height) * 2 + 1) / rho);

这是一个关于算法的问题,没有错误消息要投放

1 个答案:

答案 0 :(得分:0)

rho和theta是离散化步骤,您可以将它们设置为您喜欢的任何值。

“(宽度+高度)* 2”是要离散化的周长(别名:图像的“周长”)