☰
【功能性模块】功能性模块:(6)视频切割成图片:OpenCV版
2026/10/23 1:40:11 网站建设 项目流程

功能性模块:(6)视频切割成图片:OpenCV版

一、模块介绍

这个其实是功能性模块(5)的反向过程,主要的目的是将视频抽成图片,这样便于逐帧分析,或者进行其他应用,这个看小伙伴们需求。

二、代码实现

defVideo2Frame(videopath):""" :param video_root: 视频的根目录 :return: """video_names=os.listdir(videopath)forvideo_nameinvideo_names:count=1frame_path=videopath+video_name[0:-4]ifnotos.path.exists(frame_path):os.makedirs(frame_path)ifvideo_name[-4:]=='.asf'orvideo_name[-4:]=='.mp4'\orvideo_name[-4:]=='.avi'orvideo_name[-4:]=='.mkv':cap=cv2.VideoCapture(videopath+'/'+video_name)# print cap.isOpened()ifcap.isOpened():rval,frame=cap.read()else:rval=Falsewhilerval:# frame=cv2.resize(frame,(320,180))cv2.imwrite(frame_path+"/%05d"%count+'.jpg',frame)rval,frame=cap.read()count=count+1cap.release()

这个LZ没有进行跳帧,如果需要进行抽帧,加个if。。。else的逻辑就可以啦,或者在读取的时候跳帧读就行了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询