Python将视频中的帧保存为图片

安装一下opencv就可以用

import cv2


def getFrame(videoPath, svPath):
    cap = cv2.VideoCapture(videoPath)
    count = cap.get(7)  # 获取总帧数
    numFrame = 0
    while True:
        if cap.grab():
            flag, frame = cap.retrieve()
            if not flag:
                continue
            else:
                # cv2.imshow('video', frame)
                numFrame += 1
                newPath = svPath + "antitank_reactor_" + str(numFrame) + ".jpg" # 设置想保存的文件名,名字不要重复,可能会覆盖
                if numFrame % 50 == 0:  # 这里设置每多少帧保存一次图片,我这里是写的50,根据需要修改
                    cv2.imencode('.jpg', frame)[1].tofile(newPath)
                if numFrame % 200 == 0:  # 每过200帧打印一下,方便知道程序在运行
                    print("Have read " + str(numFrame) + " frames.")
        if numFrame == count:
            break
        if cv2.waitKey(10) == 27:
            break
    print(numFrame)


# 第一个参数是视频源文件,第二个参数是要保存到哪个文件夹,自行动创建,没写创建文件夹的代码,我这里是保存当前目录下面的images文件夹
getFrame("E:\Desktop\detec\Video17.mp4", "./images/")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值