OpenCV in Python¶
Installation¶
Using Miniconda we’re installing the opencv
-package for Python.
First follow the instructions in the Miniconda manual if you do not yet have a miniconda-environment in your home-directory.
Install the opencv
-package:
# create python virtual environment
$ conda create -n opencv
$ conda activate opencv
# set 'conda-forge'-channel as default (first) channel
$ conda config --add channels conda-forge
# download and install packages from conda-forge channel
$ conda install libopencv opencv py-opencv
source: https://github.com/conda-forge/opencv-feedstock
Loading movies¶
Movie (5 seconds) is taken with iPhone and copied to computer (IMG_5915.MOV
). In the example code below the image is read in with openCV, resized and converted to gray-scale. Finally the video is shown:
import cv2
import numpy as np
# Create a VideoCapture object and read from input file
# If the input is the camera, pass 0 instead of the video file name
cap = cv2.VideoCapture('IMG_5915.MOV')
# Check if camera opened successfully
if (cap.isOpened()== False):
print("Error opening video stream or file")
width = cap.get(cv2.CAP_PROP_FRAME_WIDTH) # float
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT) # float
fps = cap.get(cv2.CAP_PROP_FPS)
frameCount = cap.get(cv2.CAP_PROP_FRAME_COUNT)
print("size: %dx%d, fps: %.1f, frame count: %.1f, length: %.1f s"\
%(int(width), int(height), fps, frameCount, frameCount/fps))
# Read until video is completed
while(cap.isOpened()):
# Capture frame-by-frame
ret, frame = cap.read()
if ret == True:
# Display the resulting frame
cv2.imshow('Frame', gray)
# Press Q on keyboard to exit
if cv2.waitKey(25) & 0xFF == ord('q'):
break
# Break the loop
else:
break
# When everything done, release the video capture object
cap.release()
# Closes all the frames
cv2.destroyAllWindows()
source: https://www.learnopencv.com/read-write-and-display-a-video-using-opencv-cpp-python/