Вопрос о вероятностном преобразовании - PullRequest
2 голосов
/ 15 мая 2019

Я реализую вероятностный алгоритм грубого преобразования.

Я получил концепцию алгоритма, но есть вещь, которую я не понимаю.

Код ниже взят из OpenCV, я понимаю, что остальные строки, но почему они устанавливают numrho равным ((ширина * высота) * 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 голосов
/ 15 мая 2019

rho и theta являются шагами дискретизации, вы можете установить для них любое значение, которое вы предпочитаете.

"(ширина + высота) * 2" - это периметр (псевдоним: "окружность" вашего изображения), который будетдискретизованная

...