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。这主要是一个历史遗留问题,是为了保持向后兼容。

相关推荐
默子昂4 小时前
yolo自动化项目实例解析(三)重构 1.85
yolo·重构·自动化
从懒虫到爬虫15 小时前
YOLOv5/v8 + 双目相机测距
yolo·qq767172261·双目测距
FL162386312916 小时前
[数据集][目标检测]不同颜色的安全帽检测数据集VOC+YOLO格式7574张5类别
人工智能·yolo·目标检测
阿利同学18 小时前
yolov8多任务模型-目标检测+车道线检测+可行驶区域检测-yolo多检测头代码+教程
人工智能·yolo·目标检测·计算机视觉·联系 qq1309399183·yolo多任务检测·多检测头检测
FL16238631291 天前
基于yolov5的混凝土缺陷检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
人工智能·python·yolo
霍夫曼vx_helloworld73521 天前
yolov5/8/9/10模型在VOC数据集上的应用【代码+数据集+python环境+GUI系统】
yolo
FL16238631291 天前
[数据集][目标检测]车油口挡板开关闭合检测数据集VOC+YOLO格式138张2类别
人工智能·yolo·目标检测
FL16238631292 天前
智慧交通基于yolov8的行人车辆检测计数系统python源码+onnx模型+精美GUI界面
yolo
阿利同学2 天前
自动泊车系统中的YOLOv8 pose关键点车位线检测
yolo·自动泊车·关键点检测·车位检测·yolov8 pose·自定义模型训练·联系 qq1309399183
kay_5452 天前
YOLOv8改进 | 模块缝合 | C2f 融合SCConv提升检测性能【CVPR2023】
人工智能·python·深度学习·yolo·目标检测·面试·yolov8改进