視頻逐幀提取工具,Python語言編寫的一個提取視頻幀數(shù)圖片的工具,可以自由設(shè)置提取時間間隔,本工具由論壇用戶原創(chuàng)編寫,可以直接調(diào)用源碼來生成成品,需要的朋友們可以下載使用。
視頻逐幀提取工具使用
命令行中執(zhí)行,將視頻拉至窗口即可逐幀提取圖像
默認(rèn)生成在視頻同目錄下
源碼中可更改每隔多少幀提取一張
視頻逐幀提取工具功能
自定義幀數(shù)提取目標(biāo)視頻的圖片內(nèi)容,并存放到指定文件夾內(nèi)
代碼一覽
import os
import cv2
import windnd
import tkinter
def video_to_imgs(sourceFileName):
video_path = os.path.join("", "", sourceFileName+'.MP4')
times=0
frameFrequency=4 #在此處更改每X幀截取一張
outPutDirName=''+sourceFileName+'\\'
if not os.path.exists(outPutDirName):
os.makedirs(outPutDirName)
camera = cv2.VideoCapture(video_path)
while True:
times+=1
res, image = camera.read()
if not res:
break
if times%frameFrequency==0:
cv2.imencode('.jpg', image)[1].tofile(outPutDirName + str(times)+'.jpg')
print(outPutDirName + str(times)+'.jpg')
camera.release()
print('已輸出至' + sourceFileName + '\\')
def accept_video(files):
print(files[0][0:-4].decode('GBK'))
video_to_imgs(files[0][0:-4].decode('GBK'))
tk = tkinter.Tk()
tk.wm_attributes('-topmost',1)
tk.title("視頻逐幀提取丨吾愛破解")
windnd.hook_dropfiles(tk, func=accept_video)
tk.mainloop()