本文是基于opencv將視頻和動(dòng)態(tài)圖gif保存為圖像幀。可以根據(jù)輸入視頻格式的不同,修改第21行。
下陸ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!對(duì)動(dòng)圖的處理不同于視頻,PIL庫(kù)包含對(duì)圖像序列的基本支持。當(dāng)打開gif圖像時(shí),自動(dòng)加載第一幀。當(dāng)圖像讀取完成時(shí),拋出EOFError異常。我們可以使用seek()與tell()函數(shù)完成圖像幀的讀取。
本代碼的前部分是對(duì)文件的讀取。數(shù)據(jù)集文件結(jié)構(gòu)如下:
|——datasets |——action1 action1_1.gif action1_2.gif ...... |——action2 action2_1.gif action2_2.gif ...... import cv2 import os from PIL import Image video_path = 'PATH_ROOT/datasets/' #視頻或gif圖像的路徑 save_path = 'PATH_ROOT/save/' #保存幀的路徑 action_list = os.listdir(video_path) for action in action_list: if not os.path.exists(save_path+action): os.mkdir(save_path+action) video_list = os.listdir(video_path+action) for video in video_list: prefix = video.split('.')[0] if not os.path.exists(save_path+action+'/'+prefix): os.mkdir(save_path+action+'/'+prefix) save_name = save_path + action + '/' + prefix + '/' video_name = video_path+action+'/'+video name = video_name.split('.')[1] if name == "avi": cap = cv2.VideoCapture(video_name) fps = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) fps_count = 0 for i in range(fps): ret, frame = cap.read() if ret: cv2.imwrite(save_name + str(10000 + fps_count) + '.jpg', frame) fps_count += 1 if name == "gif": im = Image.open(video_name) #當(dāng)打開一個(gè)序列文件時(shí),PIL庫(kù)自動(dòng)加載第一幀。 #可以使用seek()函數(shù)和tell()函數(shù)在不同幀之間移動(dòng)。實(shí)現(xiàn)保存 try: while True: current = im.tell() #為了保存為jpg格式,需要轉(zhuǎn)化。否則可以保存為png img = im.convert('RGB') img.save(save_name+'/'+str(10000+current)+'.jpg') im.seek(current + 1) except EOFError: pass
當(dāng)前題目:Python將視頻或者動(dòng)態(tài)圖gif逐幀保存為圖片的方法-創(chuàng)新互聯(lián)
文章鏈接:http://jinyejixie.com/article40/ccpieo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、云服務(wù)器、標(biāo)簽優(yōu)化、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容