栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

视频按帧截取Python,保存文件夹

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

视频按帧截取Python,保存文件夹



import cv2
import os


def get_frame_from_video(video_path, interval):
    """
           video_name:输入视频路径(除了视频名称之外,读入视频的绝对路径中文件夹一定不要出现中文字符,不然不能保存图片)
           interval: 保存图片的帧率间隔

    """
    # 创建存帧文件夹
    path = os.getcwd() + '\frame\'
    # pwd = os.getcwd() + '\frame\' + "\video1\"
    if not os.path.exists(path):
        os.mkdir(path)
        print("directory made")
    # elif not os.path.exists(pwd):
    #     os.mkdir(pwd)
    else:
        print("directory existed")

    video_capture = cv2.VideoCapture(video_path)

    frame_nums = video_capture.get(7)  # 获取视频总帧数
    print("视频的总帧数为:", int(frame_nums))
    frame_rete = video_capture.get(5)  # 获取视频帧率
    print("视频的帧率为:", int(frame_rete))

    i = 0  # i 从 0 开始计数的帧数
    j = 0  # j 从 1 开始,记录第几次间隔

    while True:
        success, frame = video_capture.read()  # 一直在读入视频画面帧
        i += 1
        # 判断帧率间隔保存帧
        if i % interval == 0:
            j += 1
            save_name = path + str(i) + '.jpg'
            cv2.imwrite(save_name, frame)
            print('image of %s is saved' % (save_name))
        if not success:
            print('%s frames saved from the video' % j)
            break


if __name__ == '__main__':
    # 视频路径:(除了视频名称之外,读入视频的绝对路径中文件夹一定不要出现中文字符,不然不能保存图片)
    video_path = r'airplane.mp4'
    interval = 5
    get_frame_from_video(video_path, interval)       #  " interval  "  指的是一秒几帧




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1018416.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号