[Python] Detect circles in openCV

Discussão em 'Python' iniciado por Stack, Maio 22, 2025.

  1. Stack

    Stack Membro Participativo

    I have a problem with choosing right parameters for HoughCircles function. I try to detect circles from video. This circles are made by me, and has almost the same dimension. Problem is that camera is in move.

    When I change maxRadius it still detect bigger circles somehow (see the right picture). I also tried to change param1, param2 but still no success. [​IMG]

    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    blurred = cv2.medianBlur(gray, 25)#cv2.bilateralFilter(gray,10,50,50)


    minDist = 100
    param1 = 500
    param2 = 200#smaller value-> more false circles
    minRadius = 5
    maxRadius = 10
    circles = cv2.HoughCircles(blurred, cv2.HOUGH_GRADIENT, 1, minDist, param1, param2, minRadius, maxRadius)

    if circles is not None:
    circles = np.uint16(np.around(circles))
    for i in circles[0,:]:
    cv2.circle(blurred,(i[0], i[1]), i[2], (0, 255, 0), 2)


    Maybe Im using wrong function?

    Continue reading...

Compartilhe esta Página