OpenCV: Difference between revisions

From David's Wiki
Line 20: Line 20:
==Video==
==Video==
===Reading Video===
===Reading Video===
<syntaxhighlight>
<syntaxhighlight lang="python">
video_capture = cv2.VideoCapture(path.join(videos_folder, video_filename))
video_capture = cv2.VideoCapture(path.join(videos_folder, video_filename))
if not video_capture.isOpened():
if not video_capture.isOpened():

Revision as of 14:05, 12 December 2019

OpenCV is a very popular computer vision and image processing library.
There are bindings for C++, Java, JavaScript, and Python

Installation

  • Download Python 3
pip install opencv-python


Usage

Getting Started

import cv2

# Use 0 to read in grayscale
my_image = cv2.imread("my_image.png", 0)

Video

Reading Video

video_capture = cv2.VideoCapture(path.join(videos_folder, video_filename))
if not video_capture.isOpened():
    print("Error opening video stream or file")
    sys.exit(0)

frame_num = 0
while video_capture.isOpened() and frame_num < 30:
    ret, frame = video_capture.read()
    if ret:
        cv2.imshow('Frame', frame)

        frame_num = frame_num + 1
        if cv2.waitKey(25) & 0xFF == ord('q'):
            break
    else:
        break

Writing Video

C++ Video Write
Note that OpenCV does not handle audio.

output_video = cv2.VideoWriter()
codec = cv2.VideoWriter_fourcc(*"avc1")
fps = 15
image_size = (100, 100)
output_video.open("video_output.mp4", codec, fps, image_size, True)
if not output_video.isOpened():
    print("Error opening output video")

# Write all of your frames
# while have_frames:
#   output_video.write(my_frame)

# Release the video
output_video.release()

Resources