Всем добрый день.

Провожу настройку скрипта для подсчета трафика автомобилей.

Есть проблема с подсчетом количества объектов пересекающих условную линию. Когда объект пересек линию цикл плюсует каждый раз пока объект не выходит за границу видео.

Может кто-то подскажет решение.

Вот код:
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