yolo3 python提取图片的视频文件夹 数据集视频拆解成帧图片

做自己数据集需要给图片打标签,获取图片最简单的方法就是自己拍视频,自己拆解

代码附上

import cv2

import os

videos_src_path = r'D:\shipincunfang'  # 提取图片的视频文件夹

videos_save_path = r'D:\shipincunfang'  # 保存图片的路径

videos = os.listdir(videos_src_path)  # 用于返回指定的文件夹包含的文件或文件夹的名字的列表。

videos = filter(lambda x: x.endswith('mp4'), videos)  # 将mp4文件读进来,可改为avi等格式

for each_video in videos:

    frame_count = 10

    # 得到每个文件夹的名字, 并指定每一帧的保存路径

    each_video_name, _ = each_video.split('.')

    os.mkdir(videos_save_path + '/' + each_video_name)

    each_video_save_full_path = os.path.join(videos_save_path, each_video_name) + '/'

    # 得到完整的视频路径

    each_video_full_path = os.path.join(videos_src_path, each_video)

    # 用OpenCV一帧一帧读取出来

    cap = cv2.VideoCapture(each_video_full_path)

    success = True

    while (success):

        success, frame = cap.read()

        print('Read a new frame: ', success)

        params = []

        params.append(1)

        # if len(frame) > 0:

        # if success:

        if frame is not None and frame_count % 3 == 0:  # 每?帧取一帧图片保存下来,可以自己修改

            cv2.imwrite(each_video_save_full_path + each_video_name + "_%d.jpg" % frame_count, frame, params)

            print(frame_count)

        frame_count = frame_count + 1

    cap.release()
发布了10 篇原创文章 · 获赞 11 · 访问量 3939

猜你喜欢

转载自blog.csdn.net/jasdhasd/article/details/104171022