视频处理概念
视频信号(以下简称为视频)是非常重要的视觉信息来源,它是视觉处理中经常要处理的一类信号。视频由一系列图像构成的,这一系列图像被称为帧,帧是以固定时间间隔从视频中获取的。获取帧的速度称为帧速率,其单位通常使用“帧/秒”表示,如果从视频中提取出独立的帧,就可以使用图像处理的方法对其进行处理,达到处理视频的目的。
OpenCV提供了cv2.VideoCapture类和cv2.VideoWriter类来支持各种类型的视频文件。在不同的操作系统中,它们支持的文件类型可能有所不同,但是在各种操作系统中均支持VAI格式的视频文件
VideoCapture
常用函数包括初始化、打开、帧捕获、释放、属性设置等。
提供了构造函数cv2.VideoCapture(),用于打开摄像头并完成摄像头的初始化工作
捕获对象=cv2.VideoCapture(“摄像头ID号”)
要使用摄像头,需要使用cv2.VideoCapture(0)创建VideoCapture对象,参数0指的是摄像头的编号,如果你电脑上有两个摄像头的话,访问第2个摄像头就可以传入1,依此类推
打开摄像头并灰度化显示
import cv2
cap = cv2.VideoCapture(0)
while(cap.isOpened()):
ret, frame = cap.read()
cv2.imshow('frame', frame)
if cv2.waitKey(1) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
将视频转换为灰度
import cv2
cap = cv2.VideoCapture(0)
while(cap.isOpened()):
ret, frame = cap.read()
frame1=cv2.flip(frame,1)
gray=cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
canny=cv2.Canny(gray,80,150)
cv2.imshow('frame', canny)
if cv2.waitKey(1)<