【视频转图片】用python实现视频连续逐帧截图自动生成图片方法

基于python-opencv的视频连续逐帧截图自动生成图片方法(亲测可用!

	经常有小伙伴私信问我说有没有视频的电子版呀,PPT版啊之类的,想着长时间对着视频伤眼要是能打印出来就好了。如果你要是一张张视频截图然后一个个做成PPT那要做到什么时候啊,UP主突然发挥奇想,为什么不结合我大学计算机专业的特长,把这个复杂枯燥的人工过程,转变为简单自动的机器过程呢?毕竟,人生苦短,我用python哈哈哈。办公自动化是真的香!(好家伙,up主的业务越来越广了,秃头警告xN)

今天,图欧君来教大家如何把视频批量生成图片的方法:(这个方法,是up主我在csdn找到的,然后我升级改进了一下,不过有点跳帧的问题,不知道哪位大神可以帮我完善一下。)

废话不多说正片开始:

首先呢,准备工作:

  • 安装好pycharm和python 3(这个最基本的东西我就今天不细讲了哈)
  • 下载好你想要转图片PPT的视频
    在这里插入图片描述

新建一个py文件,然后复制下面这串代码粘贴上去

import cv2


def transfer(video, save):
    cap = cv2.VideoCapture(video)
    num = 0
    while True:
        if cap.grab():
            num += 1
            if num % 60 == 1:  # 每60帧截取一个图片
                flag, frame = cap.retrieve()  #解码并返回一个帧
                if not flag:
                    continue
                else:
                    cv2.imshow('video', frame)
                    new = save + "\\" + str(int(num / 60)) + ".jpg"
                    print('正在输出:' + str(int(num / 60)) + ".jpg(按Esc停止运行)")
                    cv2.imencode('.jpg', frame)[1].tofile(new)
        # 检测到按下Esc时,break(和imshow配合使用)
        if cv2.waitKey(10) == 27:
            break


print('欢迎来到视频连续截图自动生成系统!')
video = input('请输入你的视频文件路径(要包含文件名后缀,如:F:/四级核心.mp4):')  # 在此处设置你的视频文件路径以及图片输出路径
save = input('请输入你的图片输出文件夹路径(要用/单斜杠隔开):')
transfer(video, save)
print('运行完毕!')

然后,你要装一个外部组件库,名字叫【OpenCV】

OpenCV的功能十分强大,强烈表白!这里不再多说:https://baike.baidu.com/item/opencv/10320623
  • 方法一:键盘win+R 打开运行,输入cmd进入命令行窗口输入:pip install opencv-python
    在这里插入图片描述

它会自动安装完成
在这里插入图片描述

  • 方法二:在pycharm设置中安装opencv-python软件包

设置

软件库
在这里插入图片描述

最后,点击运行,输入你的视频文件名路径以及图片文件夹路径点击回车键即可!

在这里插入图片描述

要注意两个地方:一个是.mp4的后缀,一个是要么 / 单斜杠,要么就 \ 双斜杠。

在这里插入图片描述

运行展示:
在这里插入图片描述

效果展示:
在这里插入图片描述

按Esc结束运行

对你有用的话点个赞再走吧~

猜你喜欢

转载自blog.csdn.net/DynamoTUO/article/details/121854816
今日推荐