• yolo数据集的制作教程之海绵宝宝数据集的制作


    yolo海绵宝宝数据集的制作

    1、视频转图片

    新建名为hm的文件目录,用于存放图片

    代码如下:

    import cv2
    from datetime import datetime
    def video_to_frames(path,savepath,m):
        video_cap = cv2.VideoCapture()
        video_cap.open(path)
        fps  = video_cap.get(cv2.CAP_PROP_FPS)
        frames = video_cap.get(cv2.CAP_PROP_FRAME_COUNT)
        print("fps",int(fps),"frames",int(frames))
    
        pp = int(fps)
        ppp = m*pp
    
        count = 0
        for i in range(int(frames)):
            ret,frame1 = video_cap.read()
            if i%ppp == 0:
                cv2.imwrite(savepath+"/%d.jpg"%(int(i/ppp)),frame1)
                count = count+1
        return count
        
    
    if __name__ == '__main__':
        video_path = 'hm.mp4'
        savepath = 'hm/'
        m = 10
        t1 = datetime.now()
        count = video_to_frames(video_path,savepath,m)
        t2 = datetime.now()
        print("Time cost",(t2-t1))
        print(count)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    2、人工删除不需要的图片
    3、重命名
    import os
    
    # 图片文件夹存放的绝对路径,依据实际情况修改
    path = r"D:/***/***/hm"
    
    print(len(os.listdir(path)))
    
    num = 1
    for file in os.listdir(path):
        os.rename(os.path.join(path,file),os.path.join(path,"%05d"%num)+".jpg")
        num = num + 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    如果报错提示不能修改,已经有重复的文件时,先将其修改成其他的,比如修改这句代码,加上xxx,或者其他。

     os.rename(os.path.join(path,file),os.path.join(path,"%05d"%num)+"xxx.jpg")
    
    • 1

    成功后即可删除xxx,重新运行代码,这样子就看到很多海绵宝宝派大星的图片了。
    在这里插入图片描述

    4、 使用labelImg软件对数据集进行打标签

    该软件只有data文件夹和labelImg.exe文件

    文件目录,新建hm-label文件夹用于存放标签数据,hm就是我们刚刚生成的数据集,data文件里面有个predefined_classes.txt用来存放检测的类型

    ├─data
    ├─hm
    ├─hm-label
    └─labelImg.exe
    
    • 1
    • 2
    • 3
    • 4

    记事本打开predefined_classes.txt,修改为如下:

    SpongeBob
    PatrickStar 
    
    • 1
    • 2

    在这里插入图片描述

    打开labelImg.exe,进行以下操作:

    1 首先open dir 选中hm文件夹,即可打开,

    2然后change save dir 设置保存标签的文件夹为hm-label

    3 设置生成的是yolo格式的标签

    4 “w"或者create box对人物进行标注

    在这里插入图片描述

    5 view—>auto save mode,进入自动保存模式

    然后就可以愉快的标注了,比较费时间,标注完成后,发现hm-label文件夹下一堆标签文件

    在这里插入图片描述

    里面都是各个类别yolo格式的位置信息
    在这里插入图片描述

    到这一步海绵宝宝的数据集就制作完成了。

  • 相关阅读:
    Python学习第10天:类与对象
    C++学习——前进(三)
    docker中odoo项目路径
    2023年【司钻(钻井)】及司钻(钻井)作业模拟考试
    Oracle11用户连接默认180天过期
    dotnet 控制台 使用 Microsoft.Maui.Graphics 配合 Skia 进行绘图入门
    MySQL笔记【面试】
    【运维心得】ApacheDirectory找不到java路径的解决方案
    Java零基础入门-位运算符
    命令行参数、环境变量
  • 原文地址:https://blog.csdn.net/weixin_44401906/article/details/127283620