yolov5数据集构建

yolov5数据集构建

获取数据集

数据类型:

  • 图片数据类型 直接处理即可
  • 视频数据类型 先使用opencv进行视频抽帧,得到图片数据在进行处理

本文将直接使用视频进行检测首先使用opencv对视频进行抽帧工作

  • First Step:opencv 抽帧,下面是视频抽帧的代码块以及注释
import cv2  #调用opencv库
import matplotlib.pyplot as plt
#调用Matplotlib库,他是一个用于创建图表、绘制图形和可视化数据的强大库
video =cv2.VideoCapture("./BVN.mp4")
#创建了一个名为 video 的视频捕获对象,用于打开和读取视频文件 "BVN.mp4"
ret,frame =video.read()
#从视频捕获对象 video 中读取一帧视频,并将该帧存储在 frame 变量中,ret 和 frame。ret 是一个布尔值,表示读取是否成功,如果成功读取帧,则为 True,否则为 False。frame 是一个包含帧像素数据的NumPy数组。
plt.imshow(frame)
#显示OpenCV中读取的视频帧
plt.imshow(cv2.cvtColor(frame,cv2.COLOR_BGR2RGB))
#由于opencv读取图像采用的是BGR的通道顺序,使用此行代码可以将BRG改成RGB
num=0
#创建一个计数器,用于跟踪帧的数量。
save_step=30
#表示保存帧的间隔。在这个示例中,每隔30帧保存一帧
while True:  #无限循环,用于连续读取视频的帧
    ret,frame=video.read()
    if not ret:  #检查是否成功读取帧。如果 ret 为 False,表示已经读取到视频的末尾,循环会被终止,代码退出。
        break
    num+=1  #如果成功读取了一帧,计数器 num 会递增
    if num%save_step == 0:  #检查当前帧的编号是否是 save_step 的倍数。如果是,表示已经达到了保存帧的间隔。
        cv2.imwrite("./images/"+str(num)+".jpg",frame)
        #如果满足条件,就使用OpenCV的 imwrite() 函数将当前帧 frame 保存为JPEG图像文件。文件名根据当前帧的编号命名,保存在"./images/"目录下

效果展示
在这里插入图片描述
在这里插入图片描述
由上图可以看出,视频抽帧已经完成
注意事项
在运行代码之前要先进行一个设置,如下图

在这里插入图片描述

  • Second Step:打标签
    获取到了图片信息,下一步就是打标签了,这里我使用的是makesense来打标签,是一个网站(https://www.makesense.ai/)这样就不用pip install …了 主要是我的python是3.10和labelimg不兼容
    下面是使用的流程
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    经过枯燥乏味的工作终于打完了标签,接下来就是导出我们的工作成果了
    在这里插入图片描述
    找到导出后的文件,并将其内容复制到开始创建好的labels文件夹中
    在这里插入图片描述
    在这里插入图片描述

以上便是数据集构建的学习内容了,明天再把模型训练的学习内容给补上

OK 也不知道我写清楚了没有

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值