YOLOv5实战记录03 数据集构建

个人打卡,慎看。

指路大佬:【手把手带你实战YOLOv5-入门篇】YOLOv5 数据集构建_哔哩哔哩_bilibili

一、数据收集

  1. 图片类型数据
  2. 视频类型数据【使用opencv进行视频抽帧】

利用jupyter抽取帧并显示出来:

python 复制代码
import cv2
import matplotlib.pyplot as plt

video = cv2.VideoCapture("./192.mp4") #打开视频文件
ret,frame=video.read() #读取一帧

plt.imshow(frame)
#默认读取的是BGR格式

plt.imshow(cv2.cvtColor(frame,cv2.COLOR_BGR2RGB))
#设置读取格式为RGB

抽取一个视频里多个帧:【此处省略了import】

python 复制代码
video = cv2.VideoCapture("./192.mp4") #打开视频文件

num=0 #计数帧
save_step=30 #间隔帧
#每间隔save_step个帧后,捕获当前帧。 因为很多视频前后的帧是相似,
#没有太大差距,所以设置了间隔。

while True:
    ret,frame=video.read()
    if not ret:
        break
    num+=1
    if num% save_step==0:
       cv2.imwrite("./images/"+str(num)+".jpg",frame)

#这里没有利用RGB转换,仍然是正常的。为什么? 
#我们观察一下上面的代码,第一个是plt.imshow,这是利用plt打开图片,
#plt默认获取的格式是BGR。而这里cv2.imwrite是捕捉视频帧,直接存储到文件夹里,
#没有利用cv,plt打开图片。

二、标注工具labelimg

打开anaconda prompt,激活conda activate yolov5后输入以下指令

python 复制代码
pip install labelimg #下载labelimg包

然后输入labelimg,打开labelimg工具,进行标注。

  1. 选择Open Dir可以打开文件夹。labelimg会获取文件夹下的所有图片文件。
  2. save format设置成YOLO 【按键在Save下面,默认pascalVOC】
  3. 右键图片,选择Create RectBox。即可任意框住图像,设置label。注意保存。会提示选择一个文件夹用于存放label。
  4. 快捷键:a可以切换到上一张图片, d可以切换到下一张图片,w快速创建RectBox
  5. 点击View,选择Auto Save mode可以自动保存。【不过我的还是得ctrl+s才可以保存】
  6. 打开存放label的文件夹,我们会看到classes.txt文件和其他与图片同名的txt文件。前者保存了设置的label种类信息,后者保存了每个图片设置的label框选位置。

疑问:为什么是import cv2而不是 import opencv

"cv2"中的"2"并不表示opencv的版本号。OpenCV是基于C/C++的,"cv"和"cv2"分别利用底层C API和C++API。这主要是一个历史遗留问题,是为了保持向后兼容。

相关推荐
智驱力人工智能10 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
工程师老罗10 小时前
YOLOv1 核心结构解析
yolo
Lun3866buzha11 小时前
YOLOv10-BiFPN融合:危险物体检测与识别的革新方案,从模型架构到实战部署全解析
yolo
Katecat9966312 小时前
YOLOv8-MambaOut在电子元器件缺陷检测中的应用与实践_1
yolo
工程师老罗12 小时前
YOLOv1 核心知识点笔记
笔记·yolo
工程师老罗18 小时前
基于Pytorch的YOLOv1 的网络结构代码
人工智能·pytorch·yolo
学习3人组21 小时前
YOLO模型集成到Label Studio的MODEL服务
yolo
孤狼warrior21 小时前
YOLO目标检测 一千字解析yolo最初的摸样 模型下载,数据集构建及模型训练代码
人工智能·python·深度学习·算法·yolo·目标检测·目标跟踪
水中加点糖1 天前
小白都能看懂的——车牌检测与识别(最新版YOLO26快速入门)
人工智能·yolo·目标检测·计算机视觉·ai·车牌识别·lprnet
前端摸鱼匠1 天前
YOLOv8 环境配置全攻略:Python、PyTorch 与 CUDA 的和谐共生
人工智能·pytorch·python·yolo·目标检测