在Opencv中读取视频文件时,需要注意的是视频文件的路径,如果遇到路径即使是全英文时仍然不能读取的情况时,需要在前面加上r,表示原生字符串,(我读取图片操作时不管是'F:\OutputResult\srcImage\image.jpg',还是“\\”,还是“/”都可以;但是读视频就需要加一个r,不知道是为什么,可能是由于版本的问题。)
#2,python读取摄像头或视频文件
import cv2 as cv
import numpy as np
def get_Video():
#实例化一个capture类
capture=cv.VideoCapture(r'F:\OutputResult\1.avi')#获取文件中视频,若取0则读取摄像头
while True:
#读取文件返回值ret,(bool)表示读取成功1与否0;frame表示读取的每一帧
ret,frame=capture.read()
if ret==0:
print('请核对视频地址字符串!!!')
else:
#frame=cv.flip(frame,-1)#表示将摄像头读取的数据左右翻转
cv.imshow("Video",frame)
if cv.waitKey(10)&0xFF == ord('q'):
break
get_Video()
cv.destroyAllWindows()
视频运行截图:
函数参数说明:
capture=cv.VideoCapture()
- 参数:
- 路径文件中视频;若取0则表示从摄像头读取视频
- capture.read()表示:对实例化的capture调用read()方法。有两个返回值:ret标志位取True表示成功读取视频文件或者获取摄像头成功,取False表示读取视频文件或者获取摄像头失败。frame参数:返回读取的每一帧图像。
- cv.waitKey(30)&0xFF == ord('q')
- 表示视频中的每一帧图像显示时间为30ms,并且按下"q"按键(注意是英文输入法情况下)退出。