关于霍夫变换概率的问题
Question about hough transform probabilistic
我正在实现霍夫变换概率算法。
我了解了算法的概念,但是有一点我不明白。
下面的代码来自 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);
这是一道算法题,没有错误信息可放
rho 和 theta 是离散化步长,您可以将它们设置为您喜欢的任何值。
"(width + height) * 2"是要离散化的周长(别名:"circumference"你的图片)
我正在实现霍夫变换概率算法。
我了解了算法的概念,但是有一点我不明白。
下面的代码来自 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);
这是一道算法题,没有错误信息可放
rho 和 theta 是离散化步长,您可以将它们设置为您喜欢的任何值。
"(width + height) * 2"是要离散化的周长(别名:"circumference"你的图片)