标签:视频 提取 frame list frequency video path type 图片
import cv2 import os import threading # 获取所有文件 def getAllFiles(fire_dir): filepath_list = [] for root,folder_names,file_names in os.walk(fire_dir): for file_name in file_names: file_path = root+os.sep+file_name filepath_list.append(file_path) print(file_path) print(filepath_list) return filepath_list def save_image(image, addr, num, type=".jpg"): address = addr + "img_" + str(num) + type cv2.imwrite(address, image) def video_to_frames(video_path, frame_frequency=1,pic_type=".png"): wenjianhouzui = os.path.splitext(video_path)[-1] fi = 0 # 提取视频的频率,每1帧提取一个 frame_frequency = frame_frequency outPutDirName = video_path.strip(wenjianhouzui)+"\\" # 如果文件目录不存在则创建目录 if not os.path.exists(outPutDirName): os.makedirs(outPutDirName) # 读取视频帧 camera = cv2.VideoCapture(video_path) while True: fi = fi + 1 res, image = camera.read() if not res: print('not res , not image') break # 按照设置间隔存储视频帧 if fi % frame_frequency == 0: save_image(image, addr=outPutDirName, num=fi, type=pic_type) print('save image: ', fi) print('图片提取结束') # 释放摄像头设备 camera.release() def getAllAndZhuanHua(src,frame_frequency=1): filepath_list = getAllFiles(src) for f in filepath_list: print(f) video_to_frames(video_path=f, frame_frequency=frame_frequency) def getAllAndZhuanHuaDuoXiancheng(src,frame_frequency=1,pic_type=".png"): filepath_list = getAllFiles(src) for f in filepath_list: print(f) threading.Thread(target=video_to_frames, args=(f, frame_frequency,pic_type)).start() if __name__ == '__main__': src = r"E:\englishpic\xintu\video" #路径不要有中文 frame_frequency = 1000 pic_type = ".png" getAllAndZhuanHuaDuoXiancheng(src=src, frame_frequency=frame_frequency,pic_type=pic_type)
标签:视频,提取,frame,list,frequency,video,path,type,图片 来源: https://www.cnblogs.com/jingzaixin/p/16536392.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。