opencv 之 視頻文件的讀取

opencv可以讀取圖像,自然也可以讀取視頻,因爲視頻就是圖像在高速切換下的效果,所以我們可以一幀一幀去讀取視頻

import cv2
import numpy as np
import matplotlib as plt

video = cv2.VideoCapture('test.mp4')  #讀入視頻流

# 檢查是否讀入正確
if video.isOpened():
    open, frame = video.read()   # read()方法一幀一幀地讀取視頻
    # 這裏我們用讀取一幀來判斷.open表示是否讀入正確,是一個bool值
    # frame 表示讀取進來的第一幀的參數
else:
    open = false


while open:
    ret, frame = video.read()   # 利用循環來讀取每一幀的結果
    if frame is None:
        break
    if ret == True:
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)  # 用於將每一幀的彩色圖像變成灰度圖像
        cv2.imshow('result', gray)
        # 下面表示展示圖片,一幀一幀展示, 後邊的27表示ESC退出鍵,我們可以按esc退出播放
        if cv2.waitKey(10) & 0xff == 27:
            break
            
video.release()
cv2.destroyAllWindows()

當然我們也可以把視頻的每一幀去保存起來,利用imwrite()函數來讀取
在這裏插入圖片描述
可以看到圖片一幀一幀顯示了出來, 就像是視頻一樣我們可以修改waitKey後邊的數字,來調整視頻的快慢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章