python視頻按幀截取圖片工具
更新時間:2019年07月23日 14:13:00 作者:劍峰隨心
這篇文章主要為大家詳細介紹了python視頻按幀截取圖片工具,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了python視頻按幀截取圖片工具的具體代碼,供大家參考,具體內(nèi)容如下
描述:將一個視頻流按幀數(shù)截取大量的圖片
用途:AI的數(shù)據(jù)集制作,得到大量的圖片,之后將其打標簽
更改的地方
1.default--間隔的幀數(shù) 2.input/output--輸入視頻的路徑、存放截取圖片的路徑 (將路徑放入后面的‘ '中即可)前面加r可表示絕對路徑 eg:
args = parser.parse_args(['--input',r'F:\data_video\IMG_4395.MOV','--output',r'F:data_rgb_pic\7video'])
直接上代碼
import cv2
import argparse
import os
def parse_args():
"""
Parse input arguments
"""
parser = argparse.ArgumentParser(description='Process pic')
parser.add_argument('--input', help='video to process', dest='input', default=None, type=str)
parser.add_argument('--output', help='pic to store', dest='output', default=None, type=str)
#default為間隔多少幀截取一張圖片
parser.add_argument('--skip_frame', dest='skip_frame', help='skip number of video', default=100, type=int)
#input為輸入視頻的路徑 ,output為輸出存放圖片的路徑
args = parser.parse_args(['--input','','--output',''])
return args
def process_video(i_video, o_video, num):
cap = cv2.VideoCapture(i_video)
num_frame = cap.get(cv2.CAP_PROP_FRAME_COUNT)
expand_name = '.jpg'
if not cap.isOpened():
print("Please check the path.")
cnt = 0
count = 0
while 1:
ret, frame = cap.read()
cnt += 1
# how
# many
# frame
# to
# cut
if cnt % num == 0:
count += 1
cv2.imwrite(os.path.join(o_video, str(count) + expand_name), frame)
if not ret:
break
if __name__ == '__main__':
args = parse_args()
if not os.path.exists(args.output):
os.makedirs(args.output)
print('Called with args:')
print(args)
process_video(args.input, args.output, args.skip_frame)
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python的numpy模塊安裝不成功簡單解決方法總結(jié)
這篇文章主要介紹了python的numpy模塊安裝不成功簡單解決方法總結(jié),分享了四種python模塊導入不成功的解決方法,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12
PyCharm使用之配置SSH Interpreter的方法步驟
這篇文章主要介紹了PyCharm使用之配置SSH Interpreter的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12
PyTorch使用Torchdyn實現(xiàn)連續(xù)時間神經(jīng)網(wǎng)絡的代碼示例
神經(jīng)常微分方程(Neural ODEs)是深度學習領域的創(chuàng)新性模型架構(gòu),它將神經(jīng)網(wǎng)絡的離散變換擴展為連續(xù)時間動力系統(tǒng),本文將基于Torchdyn(一個專門用于連續(xù)深度學習和平衡模型的PyTorch擴展庫)介紹Neural ODE的實現(xiàn)與訓練方法,需要的朋友可以參考下2025-02-02

