Hej,
pobieram z filmu po kolei klatki i sprawdzam czy dany obiekt (poruszają się z stałą prędkością) jest w danym zakresie, jeżeli jest to odczytuje ilość kropek na tym obiekcie. Niestety odczytuję kropki po parę razy w zależności od tego ile razy znajdują się w zakresie. Ja chce tylko raz odczytać ilość kropek obiektu, który pojawi mi się w danym zakresie. Niestety obiekty są ustawione w różnej odległości od siebie wiec nie mogę precyzyjnie określić miejsca z którego mam je odczytywać.
(zakresy mogą się teraz trochę różnic, bo się trochę bawiłem z tym)
while(True):
ret, frame = cap.read()
pictureWithRectangle = cv2.rectangle(frame,(250,70),(500,300),(255,0,0),1) # obszar z którego odczytywac bede
finder = cv2.SimpleBlobDetector_create()
keypoints = finder.detect(pictureWithRectangle )
picture = cv2.drawKeypoints(img_out, keypoints, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv2.imshow('frame',picture )
kropeczki= 0
for dotes in keypoints:
if(dotes.pt[0] > 250 and dotes.pt[0] < 500): # oś x odczytanych kropek na zdjęciu
kropeczki+= 1
if(kropeczki== len(keypoints)):
# zrob cos