亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python將視頻或者動態圖gif逐幀保存為圖片

系統 1803 0

?????? 本文是基于opencv將視頻和動態圖gif保存為圖像幀。可以根據輸入視頻格式的不同,修改第21行。

?????? 對動圖的處理不同于視頻,PIL庫包含對圖像序列的基本支持。當打開gif圖像時,自動加載第一幀。當圖像讀取完成時,拋出EOFError異常。我們可以使用seek()與tell()函數完成圖像幀的讀取。

?????? 本代碼的前部分是對文件的讀取。數據集文件結構如下:

            
              |——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)
           #當打開一個序列文件時,PIL庫自動加載第一幀。
           #可以使用seek()函數和tell()函數在不同幀之間移動。實現保存
           try:
              while True:
                   current = im.tell()
                   #為了保存為jpg格式,需要轉化。否則可以保存為png
                   img = im.convert('RGB')  
                   img.save(save_name+'/'+str(10000+current)+'.jpg')
                   im.seek(current + 1)
           except EOFError:
               pass

            
          

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美另类亚洲 | 成人精品久久 | 不卡高清av手机在线观看 | 国产精品一区二区在线观看 | 快射视频在线观看 | 香蕉国产 | 深夜福利网站在线观看 | 一区二区三区不卡在线 | 色播播影院 | 看一级毛片一区二区三区免费 | 日韩国产欧美一区二区三区 | 亚洲光棍天堂 | 天天躁狠狠躁夜夜躁 | 久久国产欧美另类久久久 | 四虎免费网址 | 国产欧美精品区一区二区三区 | 日韩亚洲在线 | 99青青青精品视频在线 | 综合久久国产对白 | 拍真实国产伦偷精品 | 午夜在线视频网站 | 色噜噜狠狠成人中文小说 | 97在线观看成人免费视频 | 国产欧美日韩精品综合 | 久久91精品国产一区二区 | 99精品久久久久中文字幕 | jizjizjiz亚洲大全 | 超清中文乱码精品字幕在线观看 | 亚欧人成精品免费观看 | 看一级特黄a大片日本片黑人 | 奇米777me| 91手机在线 | 米奇7777狠狠狠狠视频影院 | 久久99精品视香蕉蕉 | 一级啊片| 九草视频在线 | 香蕉视频免费在线播放 | 久久午夜宅男免费网站 | 四虎影院欧美 | 日韩精品国产自在欧美 | 亚洲天码中字 |