使用python脚本将视频素材转化为图片数据集并打标

本文介绍了在深度学习中如何将视频素材转换为图片,并对生成的图片进行数据清洗和打标。提供了一段Python代码示例,用于按指定帧率从视频中提取图片,同时指出了需要修改的代码部分,包括视频路径、保存图片的文件夹等。此外,还提到了使用Labelimg进行图片打标的教程链接。

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

1.前言

在深度学习的训练过程中,第一步要做的制作数据集。本文所介绍的内容就是在面临视频素材时,如何将这个视频素材转换成图片,并将生成的图片给打上标签。

2.视频转图片的代码展示

# coding=utf-8
import cv2
import os
 
root = "F:\HSvideo/HSsource/"
filename= os.path.join(root, "MP4/hat12.ps")    # 视频的绝对路径

vc = cv2.VideoCapture(filename)  # 读入视频文件,命名cv
n = 1  # 计数
 
if vc.isOpened():  # 判断是否正常打开
    rval, frame = vc.read()
else:
    rval = False
 
timeF = 10  # 视频帧计数间隔频率
 
i = 0
while rval:  # 循环读取视频帧
    rval, frame = vc.read()
    if (n % timeF == 0):  # 每隔timeF帧进行存储操作
        i += 1
        print(i)
        save_path = os.path.join(root, 'Head/hatsplit_{}.jpg'.format(i))
        print(save_path)
        # input()

        
        cv2.imwrite(save_path, frame)  # 存储为图像
    n = n + 1
    cv2.waitKey(1)
vc.release()

告诉大家拿到这段代码之后,想将自己的视频转化为自己指定文件夹的图片应该要修改哪些位置:

1.视频的根目录

2.视频在根目录中所在的位置 

 这里我的视频格式是.ps格式,具体可以根据你的视频格式来修改,也可以是.mp4格式

3.指定生成图片的文件夹

4.展示转化成功的结果

 3.对生成的图片进行数据清洗并打标

1.数据清洗

剔除掉模糊、重复性高、失帧的图片

2.对筛选过后的图片进行打标

具体的打标教程之前我有写过,非常的详细,链接在这里:

使用Labelimg打标教学_labelimg jpegimages predefined_classes.txt_Dragon_0010的博客-CSDN博客

### 如何在 VisionTrain 中添加记 VisionTrain 是一种用于处理视觉数据训练的工具,其核心功能之一就是支持对图像或其他视觉数据进行注。以下是关于如何在 VisionTrain 中添加记的具体方法: #### 使用界面操作实现记 通过图形化用户界面 (GUI),可以轻松完成记任务。打开 VisionTrain 后,在目文件夹中加载待注的数据集。随后进入编辑模式,利用鼠点击拖拽来定义边界框区域[^1]。 对于分类签的选择,通常右侧会有一个下拉菜单或者列表形式展示可用类别名称供选择确认绑定到当前绘制好的对象上[^2]。 #### 自动化脚本辅助批量打 如果面对大量相似结构化的图片素材,则可考虑编写 Python 脚本来加速这一过程。下面给出一段简单的示范代码片段用来说明如何借助官方 API 接口向服务器提交新的注记录: ```python import visiontrain_api as vtapi def add_label(image_id, label_name, bbox_coords): client = vtapi.Client('your_token_here') annotation_data = { 'image': image_id, 'label': label_name, 'bbox': bbox_coords # Example format: [x_min, y_min, x_max, y_max] } response = client.create_annotation(annotation_data) return response.status_code == 201 # Usage example success = add_label(12345, 'car', [100, 100, 300, 300]) print("Label added successfully:", success) ``` 上述函数 `add_label` 可帮助开发者快速调用 VisionTrain 的 RESTful APIs 来创建一个新的注条目,返回是否成功的结果状态码验证信息[^3]。 #### 数据导出与格式转换 当所有的记完成后,记得检查是否有选项允许将这些带注解的信息保存成准 COCO 或 Pascal VOC XML 文件格式以便后续深度学习框架能够兼容读取使用[^4]。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值