对视频进行抽帧并保存在文件夹里

本文介绍了一个Python函数video_to_frames,它从给定的视频路径中提取每一帧,并保存为JPG图片,用于自动生成测试集或数据集,如UltralyticsYOLO模型的训练需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这段代码可以自己找视频做自己所用的测试集或数据集。

import cv2
import os
def video_to_frames(video_path, output_dir):
    # 打开视频文件
    video = cv2.VideoCapture(video_path)
    # 确保视频文件已成功打开
    if not video.isOpened():
        print("无法打开视频文件")
        return
    # 创建输出目录
    os.makedirs(output_dir, exist_ok=True)
    # 逐帧读取视频并保存为图像文件
    frame_count = 0
    while True:
        # 读取下一帧
        ret, frame = video.read()
        if not ret:
            break
        # 生成图像文件名
        image_path = os.path.join(output_dir, f"frame_{frame_count}.jpg")
        # 保存图像文件
        cv2.imwrite(image_path, frame)
        frame_count += 1
    # 释放视频对象
    video.release()
# 示例用法
video_path = "/home/zhang/ultralytics-main/ultralytics/models/yolo/detect/runs/detect/train6/VID_20231225_141939.avi"
output_dir = "/home/zhang/ultralytics-main/PycharmProjects/fruit1/picture1"
cp = video_to_frames(video_path, output_dir)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值