Python 在視頻處理中有著廣泛的應用,其中視頻抽幀就是其中一個常用的功能。視頻抽幀顧名思義,即從視頻中抽取幀畫面并對其進行處理,例如圖片的處理、分析和識別等。
Python 提供了豐富的視頻處理庫來實現視頻抽幀,這里我們介紹一下使用 OpenCV 庫實現視頻抽幀的方法。
import cv2
def video2frame(video_file, save_path):
# 打開視頻文件
video_cap = cv2.VideoCapture(video_file)
# 獲取視頻幀率
fps = video_cap.get(cv2.CAP_PROP_FPS)
# 循環讀取視頻幀
count = 0
success = True
while success:
# 讀取一幀
success, frame = video_cap.read()
# 將幀保存為圖片
if success:
count += 1
cv2.imwrite(save_path + "\\" + str(count) + ".jpg", frame)
# 關閉視頻文件
video_cap.release()
該代碼中,我們通過 openCV 庫中的 "VideoCapture" 類打開視頻文件,并設置幀率 "fps"。通過循環讀取所有視頻幀,并將其保存成圖片的形式,最后釋放視頻文件資源。
使用該方法,我們就可以輕易地將視頻中的所有幀畫面分別保存為圖片進行分析和處理了。