相关函数介绍:
1、视频的读取与显示
了解类VideoCapture:
对于视频的读取,OpenCv提供了接口VideoCapture。要想实现视频的读取与显示,需要熟悉一下该类的构造函数和成员函数。VideoCapture的两个常见构造函数如下:
- = cv2.VideoCapture(filename)
功能:打开视频文件
参数filename:视频的文件名 - = cv2.VideoCapture(index)
功能:打开相机设备
参数index:相机设备ID,当只有一个相机时,给0即可
VideoCapture常用到的成员函数:
- retval =cv2.VideoCapture. isOpened() #判断视频捕获是否初始化成功。初始化成功返回true。
- retval = cv2.VideoCapture.get(propId) #得到相机/视频文件的各种属性。
- retval = cv2.VideoCapture.set(propId,value) #设置属性,第一个参数是选择属性类型,第二个参数是值。
- retval,image= cv2.VideoCapture.read([,image]) #抓取,解码并返回下一个视频帧。返回值为true表明抓取成功。
- none = cv2.VideoCapture.release() #关闭视频文件或相机设备。
从相机中读取并显示视频代码:
VideoDemo:
import numpy as np
import cv2 as cv
cap = cv.VideoCapture(0)#构造函数,调用设备,0指只有一个设备
if not cap.isOpened():
print("Cannot open camera")
exit() #判断初始化是否成功,成功以后进入循环
while True:
ret, frame = cap.read() #ret捕获视频frame视频帧数据
if not ret:
print("Can't receive frame (stream end?). Exiting ...")
break #不能捕获,可能被占用或者出现摄像头问题
#可以创新在此处添加美颜代码
cv.imshow('frame', frame)
if cv.waitKey(1) == ord