美文网首页
python按帧数提取视频为图片

python按帧数提取视频为图片

作者: 水煮鱼又失败了 | 来源:发表于2021-02-19 22:16 被阅读0次

    1 场景

    使用python,将视频按照帧数提取为图片

    2 版本

    python:3.6.3

    3 依赖

    安装cv2依赖

    pip install opencv-python
    

    4 代码

    4.1 引入依赖

    import cv2
    import os
    

    4.2 定义函数

    def video_to_image(video_path, out_image_folder_path, frame_frequency):
        """
        视频解析为图片到指定文件夹
        :param video_path:视频路径
        :param out_image_folder_path:解析后的图片文件夹路径
        :param frame_frequency:帧数(每多少帧读解析一张图片)
        :return:
        """
        # 如果文件目录不存在则创建目录
        if not os.path.exists(out_image_folder_path):
            os.makedirs(out_image_folder_path)
        # 加载视频文件
        camera = cv2.VideoCapture(video_path)
        # 帧数
        times = 0
        while True:
            times += 1
            res, image = camera.read()
            if not res:
                break
            if times % frame_frequency == 0:
                cv2.imwrite(out_image_folder_path + str(times) + '.jpg', image)
    

    4.3 使用

    if __name__ == '__main__':
        # 视频路径
        tmp_video_path = os.path.join("", "", 'video/v1.mp4')
        # 输出目录
        tmp_out_image_folder_path = os.path.join("", "", 'picOut/')
        # 视频转换为图片
        video_to_image(tmp_video_path, tmp_out_image_folder_path, 50)
    

    4.4 结果

    可以看到,视频对应帧数的图片被输出到指定目录(当前测试,每50帧获取一次图片)

    1.png

    相关文章

      网友评论

          本文标题:python按帧数提取视频为图片

          本文链接:https://www.haomeiwen.com/subject/shuaxltx.html