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

python tools實現視頻的每一幀提取并保存

系統(tǒng) 2043 0

Preface

最近在做 video caption 相關,要處理大量視頻。

今天碰到一個問題,就是要將 YoutubeClips 數據集 中的 avi 格式的視頻,將其視頻中的每一幀提取出來。之后用 High accuracy optical flow estimation based on a theory for warping 提出的 Optical Flow(光流),提取運動的光流特征。

Method 1

方法 1 是最簡單的,用 FFmpeg 工具來完成。

具體的網上有很多這方面的資料,本人只是簡單了解了一下如何使用。如下圖,有一個名為 ffmpeg_test.avi 的視頻:

在當前目錄打開終端,輸入如下命令:

            
$ffmpeg -i ffmpeg_test.avi frames_%03d.jpg -hide_banner
          

以上我沒有指定太多的參數,實際上有很多參數可以指定,如起止的時間,幾秒鐘取一幀等等。

輸入即可獲得每一幀。

Method 2

下面就是可以用 cv2 模塊中的 VideoCapture、VideoWriter 來提取了,具體代碼如下:

            
#! encoding: UTF-8

import os

import cv2
import cv

videos_src_path = '/home/ou-lc/chenxp/Downloads/Youtube/youtube_select'
videos_save_path = '/home/ou-lc/chenxp/Downloads/Youtube/youtube_frames'

videos = os.listdir(videos_src_path)
videos = filter(lambda x: x.endswith('avi'), videos)

for each_video in videos:
 print each_video

 # get the name of each video, and make the directory to save frames
 each_video_name, _ = each_video.split('.')
 os.mkdir(videos_save_path + '/' + each_video_name)  

 each_video_save_full_path = os.path.join(videos_save_path, each_video_name) + '/'

 # get the full path of each video, which will open the video tp extract frames
 each_video_full_path = os.path.join(videos_src_path, each_video)

 cap = cv2.VideoCapture(each_video_full_path)
 frame_count = 1
 success = True
 while(success):
 success, frame = cap.read()
 print 'Read a new frame: ', success

 params = []
 params.append(cv.CV_IMWRITE_PXM_BINARY)
 params.append(1)
 cv2.imwrite(each_video_save_full_path + each_video_name + "_%d.ppm" % frame_count, frame, params)

 frame_count = frame_count + 1

cap.release()
          

在最后,我將每一幀保存為 PPM 格式。因為我需要調用之前的 optical flow 論文中的 of 程序,來提取 optical flow image(光流圖)。

保存時,根據 opencv 的 Doc:OpenCV 2.4.9 cv2.imwrite,其參數的指定方式如上。一開始在這里跌了好幾個跟頭,因為不知道如何將參數正確的指定。

Reference

http://stackoverflow.com/questions/33311153/python-extracting-and-saving-video-frames
http://stackoverflow.com/questions/12216333/opencv-imread-imwrite-increases-the-size-of-png

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人精品一区二区三区 | 国产精品欧美一区二区三区 | 2021天天干 | 久久免费看| 在线日韩中文字幕 | 日本综合| 国产日韩精品视频一区二区三区 | 欧美一区二区久久精品 | 久久综合一本 | 久草精品视频在线播放 | 涩涩视频免费 | 精品一区二区三区在线视频 | 国产福利在线免费观看 | 黄色一级毛片 | 国产精品香蕉 | 青春禁区视频在线观看动漫版 | 国产精品柳州莫菁身材四 | 天天曰天天干天天操 | 抱着cao才爽免费观看 | 久久蝌蚪| 亚洲欧美综合国产不卡 | 四虎在线视频观看 | 成年女人午夜毛片免费看 | 99热久久这里只有精品9 | 99日影院在线播放 | 内衣办公室动漫久久影院 | 亚洲日韩中文字幕 | 国产欧美在线观看一区二区 | 天天做天天爱夜夜爽女人爽宅 | 亚洲欧洲一二三区机械有限公司 | 激性欧美激情在线播放16页 | 青草青草久热精品视频在线观看 | 中文字幕久久精品 | 亚洲热久久 | 国产一区二区在线观看视频 | 麻豆国产96在线 | 中国 | 九九99九九在线精品视频 | 亚洲美日韩 | 黄页在线播放网址 | 亚洲精品第一区二区在线 | 日本一级特黄大一片免 |