opencv houghCircles (....? PARAM1 ?,? PARAM2?) - PullRequest
1 голос
/ 08 мая 2011
cvHoughCircles(Mat& image, vector<Vec3f>& circles, int method, double dp, double minDist, double param1=100, double param2=100, int minRadius=0, int maxRadius=0)

в соответствии с документацией:

param1 - Первый специфичный для метода параметр.в случае CV_HOUGH_GRADIENT это более высокий порог из двух, переданных детектору края Canny () (нижний будет вдвое меньше)param2.Я пробовал много разных значений, но все еще не знаю.Может ли кто-нибудь объяснить мне их.Спасибо

1 Ответ

2 голосов
/ 08 мая 2011

В настоящее время единственным реализованным методом в cvHoughCircles() является CV_HOUGH_GRADIENT.

Итак,

param1 - относится к граничному порогу, который будет использоваться детектором краев Canny (применяется к изображению в градациях серого). cvCanny() принимает два порога и вызывается изнутри cvHoughCircles(). Следовательно, верхний (первый) порог установлен на param1 (передан в качестве аргумента в cvHoughCircles()), а нижний (второй) порог установлен на половину этого значения.

param2 - это значение порога аккумулятора. Это значение используется в плоскости аккумулятора, которая должна быть достигнута, чтобы получить строку.

Я бы рекомендовал вам прочитать эту книгу , которая, на мой взгляд, является лучшей, описывающей OpenCv.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...