EmguCV обертывает материал OpenCV, поэтому вы можете получить более подробную информацию о том, как использовать методы Emgu, посмотрев на OpenCV Doku. Here он преобразование поджилок объяснило (может быть, что подсчет параметров или порядок меняется, но в большинстве случаев совпадения имен параметров в пункте пояснения 4 (Продолжить применять Хаф Circle Transform:.) вы получите объяснили все параметры:
dp = 1: The inverse ratio of resolution
min_dist = src_gray.rows/8: Minimum distance between detected centers
param_1 = 200: Upper threshold for the internal Canny edge detector
param_2 = 100*: Threshold for center detection.
min_radius = 0: Minimum radio to be detected. If unknown, put zero as default.
max_radius = 0: Maximum radius to be detected. If unknown, put zero as default
Согласно Emgu Doku используются эти значения:
cannyThreshold
Type: TColor
The higher threshold of the two passed to Canny edge detector (the lower one will be twice smaller).
accumulatorThreshold
Type: TColor
Accumulator threshold at the center detection stage. The smaller it is, the more false circles may be detected. Circles, corresponding to the larger accumulator values, will be returned first
dp
Type: SystemDouble
Resolution of the accumulator used to detect centers of the circles. For example, if it is 1, the accumulator will have the same resolution as the input image, if it is 2 - accumulator will have twice smaller width and height, etc
minDist
Type: SystemDouble
Minimum distance between centers of the detected circles. If the parameter is too small, multiple neighbor circles may be falsely detected in addition to a true one. If it is too large, some circles may be missed
minRadius (Optional)
Type: SystemInt32
Minimal radius of the circles to search for
maxRadius (Optional)
Type: SystemInt32
Maximal radius of the circles to search for
Так что попробуйте использовать более высокую accumulatorThreshold (например, 150 или 180), потому что ваши круги довольно очевидны на больших изображений более высокого дп может помочь тоже. уменьшая ваши ожидания ti меня.
Ваш dp 10 (я думаю, что это означает 10pixils между обнаруженными центрами), просто возьмите намного большее число в зависимости от вашего размера изображения. пример OpenCV использует 8-ю высоту изображений.
minRadius 0 должно быть нормально, так как на вашем изображении отображаются только большие (желтые) круги.
Максимальное количество радиостанций должно зависеть от вашего размера изображения - это позволит удалить эти действительно большие круги в нижней части изображения.
Просто попробуйте 5% высоты изображения как minRadius и около 90% как maxRadius - или просто используйте слайдеры и кнопку Apply, чтобы попробовать сами.