在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"按鍵(注意是英文輸入法情況下)退出。