J'utilise le code suivant pour détecter les cercles:détection de cercle est le saut
gray = cv2.GaussianBlur(gray, (5, 5), 0);
gray = cv2.medianBlur(gray, 5)
kernel = np.ones((2, 2), np.uint8)
gray = cv2.erode(gray, kernel, iterations=1)
gray = cv2.dilate(gray, kernel, iterations=1)
circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 200,
param1=100, param2=50, minRadius=0, maxRadius=150)
if circles is not None:
# Convert the (x,y) coordinate and radius of the circles
circles = np.round(circles[0, :]).astype("int")
# Loop over the (x,y) coordinate and radius of the circles
for (x, y, r) in circles:
# Draw the circle in the output
cv2.circle(fancy_frame, (x+x1, y+y1), r, (0, 255, 0), 4)
Cependant, le cercle est le saut quand je perçois. Comment puis-je régler cela? Y a-t-il un haar ou un svm pour le détecter?
C'est la sortie que je reçois:
Je veux détecter tous les cercles vidéo en temps réel
Postez votre résultat et le résultat attendu. – zindarod
Veuillez vérifier la question mise à jour – user1241241
Vous devez appliquer un algorithme de suivi, par exemple kalman-filter – eyllanesc