Как находить круги на видео?

Я делаю программу, которая находит круги на видео с камеры ноутбука, но почему-то вместо видео я вижу серый экран. Где ошибка в моем коде?

import cv2
import numpy as np

cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)

param1 = 50
param2 = 30
minRadius = 1
maxRadius = 150

while True:
    success, img = cap.read()
    im = cv2.medianBlur(img, 5)
    cimg = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)

    circles = cv2.HoughCircles(cimg, cv2.HOUGH_GRADIENT, 1, 20, param1, param2, minRadius, maxRadius)

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

    cv2.imshow('detected circles', img)

Ответы (0 шт):