OpenCV-Python笔记(2)视频文件分帧并保存

创建解析视频文件对象

要解析视频,需创建一个VideoCapture()对象,它的参数设为视频文件的名称。创建对象后,使用read()函数逐帧捕捉。最后需要释放对象。

保存帧

使用cv2.imwrite()函数可以保存视频帧为图像,保存格式可以多样,如jpg,png等。

Show me the codes

import cv2
import os

objectPath = './images/'
if not os.path.exists(objectPath): # creat directory to save images
    os.mkdir(objectPath)

def splitVideo(videoPath):
    '''
        Deal with vedio files
    '''
    videoCapture = cv2.VideoCapture()
    videoCapture.open(videoPath)
    # get fps and number of frames of the video
    fps = videoCapture.get(cv2.CAP_PROP_FPS)
    frames = videoCapture.get(cv2.CAP_PROP_FRAME_COUNT)
    print("fps=",fps,"frames=",frames)
    
    for i in range(int(frames)-1):
        ret,frame = videoCapture.read()
        if ret:
            if not cv2.imwrite(objectPath+"cowCourt_%d.jpg"%i,frame):
                raise Exception("Could not write image")
    # Release everything if job is finished
    videoCapture.release()
    
if __name__=="__main__":
    splitVideo('./test.mp4')
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值