OpenCV for Python之從相機中讀取視頻
Opencv4 官方文檔 : https://docs.opencv.org/4.2.0/
Opencv4 for Python中文文檔點擊下載:Opencv4 for Python 中文文檔
1.從相機中讀取視頻
代碼實例
def video_demo():
capture = cv.VideoCapture(0)#0筆記本內置攝像頭,1調用usb攝像頭
if not capture.isOpened():
print("Cannot open camera")
exit()
while True: # 逐幀捕獲
ret, frame = cap.read()
# 如果正確讀取幀,ret爲True
if not ret:
print("Can't receive frame (stream end?). Exiting ...")
break
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
# 顯示結果幀
cv.imshow('frame', gray)
if cv.waitKey(1) == ord('q'):
break
# 完成所有操作後,釋放捕獲器
cv.destroyAllWindows()
capture.release()
2 從文件中播放視頻
代碼實例
def filePlayVideo():
capture = cv.VideoCapture('./fiele/images/test.avi')
while capture.isOpened():
ret, frame = capture.read()
# 如果正確讀取幀,ret爲True
if not ret:
print("Can't receive frame (stream end?). Exiting ...")
break
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
cv.imshow('frame', gray)#逐幀顯示實現視頻播放
if cv.waitKey(1) == ord('q'):
break
capture.release()
cv.destroyAllWindows()
3 保存捕捉到的視頻:
代碼實例
def saveVideo():
capture = cv.VideoCapture(0)
# 定義編解碼器並創建VideoWriter對象
fourcc = cv.VideoWriter_fourcc(*'XVID')
out = cv.VideoWriter('output.avi', fourcc, 20.0, (640, 480))
while capture.isOpened():
ret, frame = capture.read()
if not ret:
print("Can't receive frame (stream end?). Exiting ...")
break
frame = cv.flip(frame, 0)
# 寫翻轉的框架
out.write(frame)
cv.imshow('frame', frame)
if cv.waitKey(1) == ord('q'):
break
# 完成工作後釋放所有內容
capture.release()
out.release()
cv.destroyAllWindows()