把视频变成一帧一帧的图片放到对应的文件夹下 python代码

——————-2021.7.15更新———————–

        注意,得到的数据是 bgr 存放的,请改成 RGB 方法frameRGB=frame[...,::-1]

——————-2021.7.15更新———————–

代码(已修改)

import cv2                                      # 安装见 https://blog.csdn.net/qq_43657442/article/details/109276236
from skimage import io                          # 若安装不上,或很慢,见https://blog.csdn.net/qq_43657442/article/details/109526813
import os

videos_path = r'D:\videos'                      # 视频所在文件夹的路径位置
videos_name = os.listdir(videos_path)           # 从视频文件夹中获取各个视频的名字

for j, i in enumerate(videos_name):             # 遍历所有的视频
    # 以下两行代码的作用是为每段视频帧创建一个文件夹
    path = r'D:\videos\%s' %(i[0:-4])
    
    video_path = os.path.join(videos_path, i)    # 获取每个视频的路径
    if os.path.isdir(video_path):                # 如果遇见文件夹就跳过
        continue
    os.makedirs(path)
    camera = cv2.VideoCapture(video_path)
    if camera.isOpened():                        # 判断视频是否打开
        print('Open')
    else:
        print('视频打开错误')

    a = 0                                        # 视频帧图片的起始编号
    while True:
        success, frame = camera.read()     # 读取视频流 https://blog.csdn.net/qq_43657442/article/details/109277467
        frameRGB=frame[...,::-1]     # read读出来的是bgr的,要改成rgb
        if success==False:                       # 当从视频中读取不到视频帧就退出
            break
        io.imsave(r'D:\videos\%s\%s.jpg' %(i[0:-4],a), frameRGB)  # 保存图片
        a += 1
# When everything done, release the capture
camera.release()
cv2.destroyAllWindows()

这是我的放视频的文件夹

《把视频变成一帧一帧的图片放到对应的文件夹下 python代码》

结果

《把视频变成一帧一帧的图片放到对应的文件夹下 python代码》
 
 

《把视频变成一帧一帧的图片放到对应的文件夹下 python代码》
 
 
《把视频变成一帧一帧的图片放到对应的文件夹下 python代码》

    原文作者:中南自动化学院“智能控制与优化决策“至渝
    原文地址: https://blog.csdn.net/qq_43657442/article/details/109528070
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞