video2img

"""
Created on Thu Nov 15 09:38:32 2018

@author: baijun
"""
import os
import argparse,random
import cv2
from tqdm import tqdm

def parse_args():
    '''parse args'''
    parser = argparse.ArgumentParser()
    parser.add_argument('--input','-i', dest='input',help='video input path')
    parser.add_argument('--output','-o',dest='output',help='video output path')
    parser.add_argument('--num','-n',dest='numFramePerSecond',type=int,default=1,help='num frame to get per second')
    return parser.parse_args()

def main(args):
    list_video=os.listdir(args.input)
    if not os.path.exists(args.output):
        os.system('mkdir -p %s'%args.output)
    for video_name in tqdm(list_video):
        video_path=os.path.join(args.input,video_name)
        cap = cv2.VideoCapture(video_path)

        # FPS=int(cap.get(cv2.CAP_PROP_FPS))
        
        # random_index = random.sample(range(FPS), FPS)
        # indexFrame=random_index[:args.numFramePerSecond]
        
        ret=True
        count=1
        numOfImage=0
        while ret:
            ret,frame = cap.read()
            if ret == False:
                break
            count+=1
            if count % 30 == 0:
            #     count=0
            # if count in indexFrame:
            #     numOfImage+=1
                image_name="background_" + video_name+'_%06d'%count+'.jpg'
                image_path=os.path.join(args.output,image_name)
                cv2.imwrite(image_path,frame)
if __name__ == '__main__':
    args = parse_args()
    main(args)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天谈到了碎片化时代的三种核心能力,整合分拆、后台多线程前台专注能力、清空能力。你的强项是什么?有什么好的技巧可以...
    净彻阅读 803评论 2 4
  • 某君原本是个无所事事,游手好闲的纨绔子弟,因天降甘露,突然得到远在欧洲的姨妈代理律师的信函,说代理人因突发心脏病,...
    康德_326阅读 122评论 0 0
  • 一戒过度自信。 投资者通常容易犯的一个错误是,往往会因上一次交易的成功而对自己过度自信,导致可能忽视下一次交易的风...
    陈桭阅读 208评论 0 1
  • 列宁和男孩成了很好的朋友,那个男孩天天去白桦树下看那三只灰雀。 有一天,男孩又来到公园,走到白桦树下,发现那只胸脯...
    陕县1895吕海红阅读 865评论 0 0