最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python將視頻或者動(dòng)態(tài)圖gif逐幀保存為圖片的方法

 更新時(shí)間:2019年09月10日 09:37:22   作者:小宇少俠  
本文是基于opencv將視頻和動(dòng)態(tài)圖gif保存為圖像幀的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

本文是基于opencv將視頻和動(dòng)態(tài)圖gif保存為圖像幀。可以根據(jù)輸入視頻格式的不同,修改第21行。

       對(duì)動(dòng)圖的處理不同于視頻,PIL庫(kù)包含對(duì)圖像序列的基本支持。當(dāng)打開(kāi)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)打開(kāi)一個(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

知識(shí)點(diǎn)擴(kuò)展:python如何將gif動(dòng)態(tài)圖轉(zhuǎn)化成每幀圖片

from PIL import Image
import os
gifFileName = 'test.gif'
#使用Image模塊的open()方法打開(kāi)gif動(dòng)態(tài)圖像時(shí),默認(rèn)是第一幀
im = Image.open(gifFileName)
pngDir = gifFileName[:-4]
#創(chuàng)建存放每幀圖片的文件夾
os.mkdir(pngDir)
try:
 while True:
  #保存當(dāng)前幀圖片
  current = im.tell()
  im.save(pngDir+'/'+str(current)+'.png')
  #獲取下一幀圖片
  im.seek(current+1)
except EOFError:
  pass

總結(jié)

以上所述是小編給大家介紹的Python將視頻或者動(dòng)態(tài)圖gif逐幀保存為圖片的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Python實(shí)現(xiàn)多任務(wù)進(jìn)程示例

    Python實(shí)現(xiàn)多任務(wù)進(jìn)程示例

    大家好,本篇文章主要講的是Python實(shí)現(xiàn)多任務(wù)進(jìn)程示例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Python之字典對(duì)象的幾種創(chuàng)建方法

    Python之字典對(duì)象的幾種創(chuàng)建方法

    這篇文章主要介紹了Python之字典對(duì)象的幾種創(chuàng)建方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python 實(shí)現(xiàn)將list轉(zhuǎn)成字符串,中間用空格隔開(kāi)

    python 實(shí)現(xiàn)將list轉(zhuǎn)成字符串,中間用空格隔開(kāi)

    今天小編就為大家分享一篇python 實(shí)現(xiàn)將list轉(zhuǎn)成字符串,中間用空格隔開(kāi),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python異常處理總結(jié)

    Python異常處理總結(jié)

    這篇文章主要介紹了Python異常處理總結(jié),需要的朋友可以參考下
    2014-08-08
  • Python?asyncio的一個(gè)坑

    Python?asyncio的一個(gè)坑

    這篇文章主要介紹了Python?asyncio的一個(gè)坑,文章從Python編程錯(cuò)誤開(kāi)始介紹,改變與好多變不成中常犯的錯(cuò)誤,我們今天就來(lái)分析分析吧,需要的下伙伴也可以參考一下
    2021-12-12
  • Python?Pygame實(shí)戰(zhàn)之歡樂(lè)打地鼠游戲

    Python?Pygame實(shí)戰(zhàn)之歡樂(lè)打地鼠游戲

    打地鼠是一款比較經(jīng)典的敏捷類(lèi)游戲,我們可以在許多商場(chǎng)門(mén)口看到這類(lèi)游戲機(jī),在電腦和手機(jī)上也有許多類(lèi)似的游戲。本文將用Python中的Pygame庫(kù)實(shí)現(xiàn)這一游戲,需要的可以參考一下
    2022-02-02
  • Python SQL查詢并生成json文件操作示例

    Python SQL查詢并生成json文件操作示例

    這篇文章主要介紹了Python SQL查詢并生成json文件操作,涉及Python基于mssqlhelper模塊進(jìn)行mysql數(shù)據(jù)庫(kù)查詢與json格式文件生成相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • python web框架Flask實(shí)現(xiàn)圖形驗(yàn)證碼及驗(yàn)證碼的動(dòng)態(tài)刷新實(shí)例

    python web框架Flask實(shí)現(xiàn)圖形驗(yàn)證碼及驗(yàn)證碼的動(dòng)態(tài)刷新實(shí)例

    在本篇文章里小編給大家整理的是關(guān)于python web框架Flask實(shí)現(xiàn)圖形驗(yàn)證碼的相關(guān)知識(shí)點(diǎn),有需要的朋友們參考下。
    2019-10-10
  • 人生苦短我用python python如何快速入門(mén)?

    人生苦短我用python python如何快速入門(mén)?

    這篇文章主要教大家如何快速入門(mén)python,一個(gè)簡(jiǎn)短而全面的入門(mén)教程帶你走入Python的大門(mén),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python中xml格式的轉(zhuǎn)換方法

    python中xml格式的轉(zhuǎn)換方法

    這篇文章主要為大家詳細(xì)介紹了python中xml格式的轉(zhuǎn)換方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評(píng)論

宁明县| 小金县| 华容县| 无极县| 扎囊县| 河源市| 和田市| 宣城市| 错那县| 阳山县| 杂多县| 木兰县| 竹溪县| 武威市| 望都县| 双辽市| 徐水县| 调兵山市| 永寿县| 灌南县| 宜宾县| 红安县| 和龙市| 龙游县| 西城区| 兴安县| 梁河县| 旬邑县| 五常市| 都昌县| 迁西县| 威宁| 新泰市| 任丘市| 怀安县| 信宜市| 合山市| 景洪市| 台南县| 封丘县| 盐源县|