Esempio n. 1
0
video = 'autoroute.mp4'

nbr_old = 0
vehicule = 0
seuil = 10

fond = common.moyenne_image(video, 500)
fond = fond[ymin:ymax, xmin:xmax]
cv2.imshow('fond', fond.astype(np.uint8))
fond = fond.astype(np.int32)
cap = cv2.VideoCapture(video)

while True:
    ret, frame = cap.read()
    tickmark = cv2.getTickCount()
    mask = common.calcul_mask(frame[ymin:ymax, xmin:xmax], fond, seuil)
    elements = cv2.findContours(mask, cv2.RETR_EXTERNAL,
                                cv2.CHAIN_APPROX_SIMPLE)[-2]
    nbr = 0
    for e in elements:
        ((x, y), rayon) = cv2.minEnclosingCircle(e)
        if rayon > 20:
            cv2.circle(frame, (int(x) + xmin, int(y) + ymin), 5, color_infos,
                       10)
            nbr += 1
    if nbr > nbr_old:
        vehicule += 1
    nbr_old = nbr
    fps = cv2.getTickFrequency() / (cv2.getTickCount() - tickmark)
    cv2.putText(frame, "FPS: {:05.2f} seuil: {:d}".format(fps, seuil),
                (10, 30), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, color_infos, 1)
Esempio n. 2
0
image_fond = "img-0.png"
color_infos = (0, 0, 255)

nbr_old = 0
vehicule = 0
seuil = 10

fond = common.moyenne_image(video, 100)

cv2.imshow('fond', fond.astype(np.uint8))
cap = cv2.VideoCapture(video)

while True:
    ret, frame = cap.read()
    tickmark = cv2.getTickCount()
    mask = common.calcul_mask(frame, fond, seuil)
    elements = cv2.findContours(mask, cv2.RETR_EXTERNAL,
                                cv2.CHAIN_APPROX_SIMPLE)[-2]
    nbr = 0
    for e in elements:
        ((x, y), rayon) = cv2.minEnclosingCircle(e)
        if rayon > 20:
            cv2.circle(frame, (int(x), int(y)), 5, color_infos, 10)
            nbr += 1
    if nbr > nbr_old:
        vehicule += 1
    nbr_old = nbr
    fps = cv2.getTickFrequency() / (cv2.getTickCount() - tickmark)
    cv2.putText(frame, "FPS: {:05.2f} Seuil: {:d}".format(fps, seuil),
                (10, 30), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, color_infos, 1)
    cv2.imshow('video', frame)