Провожу настройку скрипта для подсчета трафика автомобилей.
Есть проблема с подсчетом количества объектов пересекающих условную линию. Когда объект пересек линию цикл плюсует каждый раз пока объект не выходит за границу видео.
Может кто-то подскажет решение.
Вот код:
import cv2 backsub = cv2.BackgroundSubtractorMOG() #вычитаем фон capture = cv2.VideoCapture("/car.avi") #грузим видео i = 0 minArea=1 while True: ret, frame = capture.read() fgmask = backsub.apply(frame, None, 0.01) erode=cv2.erode(fgmask,None,iterations=3) moments=cv2.moments(erode,True) area=moments['m00'] if moments['m00'] >=minArea: x=int(moments['m10']/moments['m00']) y=int (moments['m01']/moments['m00']) if y>100: i=i+1 print(i) #print(x,y) cv2.putText(frame,'COUNT: %r' %i, (10,30), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2) cv2.imshow("Track", frame) cv2.imshow("background sub", fgmask) key = cv2.waitKey(100) if key == ord('q'): break