# 導入所有必要的庫
import cv2
import os
# 從指定的路徑讀取視頻
cam = cv2.VideoCapture("F:/video1.mp4")
try:
# 創(chuàng)建名為data的文件夾
if not os.path.exists('data'):
os.makedirs('data')
# 如果未創(chuàng)建,則引發(fā)錯誤
except OSError:
print('Error: Creating directory of data')
# 定義保存圖片函數(shù)
# image:要保存的圖片名字
# addr;圖片地址與相片名字的前部分
# num: 相片,名字的后綴。int 類型
def save_image(image, addr, num):
address = addr + str(num) + '.jpg'
cv2.imwrite(address, image)
# reading from frame
ret, frame = cam.read() # ret為布爾值 frame保存著視頻中的每一幀圖像 是個三維矩陣
i = 0
timeF = 15 # 設置要保存圖像的間隔 15為每隔15幀保存一張圖像
j = 0
while ret:
i = i + 1
# 如果視頻仍然存在,繼續(xù)創(chuàng)建圖像
if i % timeF == 0:
# 呈現(xiàn)輸出圖片的數(shù)量
j = j + 1
save_image(frame, './data/', j)
print('save image:', j)
ret, frame = cam.read()
# 一旦完成釋放所有的空間和窗口
cam.release()
cv2.destroyAllWindows()
到此這篇關(guān)于python-opencv實現(xiàn)視頻指定幀數(shù)間隔圖像的保存的示例的文章就介紹到這了,更多相關(guān)python-opencv視頻幀數(shù)圖像保存內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!