예제 #1
0
def video_record(video):
    meta = MetaData.from_video(video)
    cap = cv2.VideoCapture(video)
    arrow = Arrow(meta.width)
    cpt_frame = 0
    while cap.isOpened():
        ret, frame = cap.read()
        cpt_frame += 1
        if ret:
            try:
                processed_img = process_img(frame, meta)
                lines = find_lines(processed_img)
                l1, l2 = separate_lines(lines)
                p = intersect_droit(l1, l2)
                arrow.add_point(int(p.x))

                processed_img = cv2.cvtColor(processed_img, cv2.COLOR_GRAY2BGR)

                cv2.imshow('window', processed_img)
                draw_infos(frame, p, l1, l2)
                draw_arrow(frame, arrow, meta.width)
                cv2.imshow('window', frame)

            except:
                pass
        # draw_arrow(frame, arrow, meta.width)

        # cv2.imshow('window', frame)
        if cv2.waitKey(25) & 0xFF == ord('q'):
            break

    cap.release()
    cv2.destroyAllWindows()