Labelimg制作数据集「建议收藏」

Labelimg制作数据集「建议收藏」Labelimg制作数据集1、安装labelimg①下载源码自行安装,安装步骤参考搜索文章下载地址:https://github.com/tzutalin/labelImg②下载打包版直接运行,Windows和Linux平台可用,无需编译下载地址:http://tzutalin.github.io/labelImg/2、图片标注①仿照VOC2007在py-faster-rc…

大家好,又见面了,我是你们的朋友全栈君。

Labelimg制作数据

1、 安装labelimg

① 下载源码自行安装,安装步骤参考搜索文章

下载地址:https://github.com/tzutalin/labelImg

② 下载打包版直接运行,Windows和Linux平台可用,无需编译

下载地址:https://tzutalin.github.io/labelImg/

2、 图片标注

① 仿照VOC2007在py-faster-rcnn-master\data目录下新建文件夹“VOCdevkit2007”,在VOCdevkit2007\VOC2007目录下新建如图5个文件夹(前3个必须有)。JPEGImages存放训练图片,Annotations存放使用labelimg标注图片后生成的.xml文件,ImageSets中新建Main文件夹。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
② 使用打包版labelimg时直接打开labelImg.exe,先点击“Change Save Dir”修改保存路径为文件夹Annotations(路径不能包含中文)。使用notepad++打开data文件夹中的predefined_classes.txt,修改分类的类别。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述打开需要标记的图片文件夹JPEGImages,Ctrl+u
在这里插入图片描述修改保存路径(.xml文件夹)为Annotations,Ctrl+r
在这里插入图片描述标注ROI区域填写标签,w:开始画框
在这里插入图片描述保存.xml文件,有弹框提醒,Ctrl+s

d: 下一张

a: 上一张

del: 删除画的框

Ctrl++: 图片放大

Ctrl–: 图片缩小

↑→↓←: 对框进行移动

Ctrl+d: 复制当前框的标签和框

③ 文件夹JPEGImages中的图片命名格式要求为“xxxxxx.jpg”,从000000.jpg开始,图片重命名代码以Python为例,可参考:https://blog.csdn.net/u011574296/article/details/72956446

import os
path = "F:\caffe\py-faster-rcnn-master\data\VOCdevkit\VOC2007\JPEGImages"
filelist = os.listdir(path) # 该文件夹下所有的文件(包括文件夹)
count=0 # 编号从0开始

for file in filelist:
    print(file)

for file in filelist:  
# 遍历所有文件
    Olddir=os.path.join(path,file)   # 原来的文件路径
    if os.path.isdir(Olddir):   # 如果是文件夹则跳过
        continue
    filename=os.path.splitext(file)[0]   # 文件名
    filetype=os.path.splitext(file)[1]   # 文件扩展名
    Newdir=os.path.join(path,str(count).zfill(6)+filetype)  # 用字符串函数zfill 以0补全所需位数
    os.rename(Olddir,Newdir) # 重命名
    count+=1

3、 生成数据集所需txt

使用代码在ImageSets\Main目录下生成test.txt(测试集)、train.txt(训练集)、val.txt(验证集)、trainval.txt(训练验证集,由train.txt和val.txt组成)。VOC2007中, test大概是整个数据集的50%,trainval是整个数据集剩下的50%;train大概是trainval的50%,val是trainval剩下的50%。所占比例可在代码中修改,以Python为例(其中trainval是整个数据集的70%):
在这里插入图片描述

import os
import random

trainval_percent = 0.7   # trainval占总数的比例
train_percent = 0.5   # train占trainval的比例
xmlfilepath = r'F:\caffe\py-faster-rcnn-master\data\VOCdevkit2007\VOC2007\Annotations'
txtsavepath = r'F:\caffe\py-faster-rcnn-master\data\VOCdevkit2007\VOC2007\ImageSets\Main'
total_xml = os.listdir(xmlfilepath)

num = len(total_xml)
list = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list, tv)
train = random.sample(trainval, tr)

ftrainval = open(txtsavepath + r'\trainval.txt', 'w')
ftest = open(txtsavepath + r'\test.txt', 'w')
ftrain = open(txtsavepath + r'\train.txt', 'w')
fval = open(txtsavepath + r'\val.txt', 'w')

for i in list:
    name = total_xml[i][:-4] + '\n'
    if i in trainval:
        ftrainval.write(name)
        if i in train:
            ftrain.write(name)
        else:
            fval.write(name)
    else:
        ftest.write(name)

ftrainval.close()
ftrain.close()
fval.close()
ftest.close()
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149449.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dpkg强制安装软件包_Ubuntu12安装deb

    dpkg强制安装软件包_Ubuntu12安装debdpkg-i–force-overwritetest.deb

    2022年9月1日
    4
  • 如何查看webpack版本_webpack查询有没有安装

    如何查看webpack版本_webpack查询有没有安装https://blog.csdn.net/weixin_38617311/article/details/868222281,npminfowebpack2,webpack-v如果没有出现,npminstall–globalwebpack-cli,因为注意:webpack4x以上,webpack将命令相关的内容都放到了webpack-cli,所以还需要安装webp…

    2022年8月10日
    19
  • 分布式存储系统考虑因素-分区容错性[通俗易懂]

    分布式存储系统考虑因素-分区容错性[通俗易懂]分布式存储系统中的多台服务器通过网络进行连接。但是我们无法保证网络是一直通畅的,分布式系统需要具有一定的容错性来处理网络故障带来的问题。

    2022年7月25日
    3
  • ipv4和ipv6对比(IPV4)

    TCP/IP的心脏是互联网层,这一层主要由IP和ICMP两个协议组成。IP相当于OSI参考模型中的第三层——网络层。而网络层的作用是实现终端节点之间的通信。这种终端节点之间的通信也叫‘点到点’通信。IP地址用于连接在网络中的所有主机中识别出进行通信的目标地址。谷在tcp/ip通信的所有主机中必须设置IP地址。路由控制、多条路由和路由控制表使得数据包可以成功抵达要去的地方。路由控制表记录着此…

    2022年4月15日
    186
  • 漂亮特殊字体可复制_特殊字体生成器 漂亮特殊字体可复制[通俗易懂]

    漂亮特殊字体可复制_特殊字体生成器 漂亮特殊字体可复制[通俗易懂]英文特殊字体在社交平台上用得越来越多,比如:……上面这些漂亮的英文用的都是特殊字体,这些文字特殊的效果十分引人注意。特殊字体生成器推荐一个英文特殊字体生成器—【有文字体】,有文字体是一个在线的特殊字体生成器,可以一键生成可复制的漂亮特殊字体。使用方法非常简单,只需输入文字,它会为你生成相应的特殊字体,比如输入”Haveaniceday”,你会立即看到生成的特殊字体,再点击…

    2022年4月28日
    17.8K
  • 简单网络管理协议SNMP(史上最全)

    简单网络管理协议SNMP(史上最全)简单网络管理协议(SNMP)是TCP/IP协议簇的一个应用层协议。在1988年被制定,并被Internet体系结构委员会(IAB)采纳作为一个短期的网络管理解决方案;由于SNMP的简单性,在Internet时代得到了蓬勃的发展,1992年发布了SNMPv2版本,以增强SNMPv1的安全性和功能。现在,已经有了SNMPv3版本。SNMP版本…

    2022年10月17日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号