采用bubliiiing的代码,将yolo数据集格式转为voc格式出现问题即解决办法:
1、可以生成Main中txt文件,却无法生成2007_train.txt文件。
原因分析:检查是否有文件名称中含有空格,回到识别时由于空格别分为两个文件而导致找不到目标文件
解决办法:运行如下代码,自动检测文件夹中所有文件名是否有空格,并将其空格去掉。
# -*-coding:utf-8-*-
#将文件名中的空格去掉
import os
rootdir = '/home/user/PycharmProjects/FSYV3/faster-rcnn-pytorch-2.0/VOCdevkit/VOC2007/JPEGImages'
img_file_l = []
img_dir_l = []
for parent, dirnames, filenames in os.walk(rootdir):
for img_one in filenames:
# old_name = img_one.split('/')[-1]
new_name = img_one.replace(" ", "") #此处可以自行修改变成去除空格or去除逗号等等 # new_name = img_one.replace(" ", "")
new_name = os.path.join(rootdir, new_name)
old_name = os.path.join(rootdir, img_one)
print(old_name)
print(new_name)
os.rename(old_name, new_name)
2、完美生成txt文件,但2007_train.txt文件中只有文件没有目标坐标
原因分析:classes文件里面的类名称写错了。
解决办发:找到xml文件里面的object中name名称,那个为类名称。