将自己的数据制作成voc格式

VOCdevkit2007文件下只保存VOC2007,VOC2007下只保存Annotations ImageSets JPEGImages。

JPEGImages存放所有的图片数据(即训练测试验证的图片都在里面),注意图片名字不再是原本图片名字,而是000001这种6位编号,制作过程中需要将所有图片名字进行转换

Annotations存放所有图片的xml数据,名字同JPEGImages一样

ImageSets里存放train.txt val.txt trainval.txt test.txt,文件里面是图片的编号,trainval.txt是train和val的编号之和。这个时候需要打乱图片顺序,就可以从这一步实现

代码如下:

import random

image_index = []

for i in range(1,9213):
    i = \"%06d\"%(i)
    image_index.append(i)




random.shuffle(image_index)   
for x in image_index:
    print x

f1 = open(\'/home/bnrc/py-faster-rcnn/data/VOCdevkit2007/VOC2007/ImageSets/Main/train.txt\',\'w\')
f2 = open(\'/home/bnrc/py-faster-rcnn/data/VOCdevkit2007/VOC2007/ImageSets/Main/val.txt\',\'w\')
f3 = open(\'/home/bnrc/py-faster-rcnn/data/VOCdevkit2007/VOC2007/ImageSets/Main/trainval.txt\',\'w\')
f4 = open(\'/home/bnrc/py-faster-rcnn/data/VOCdevkit2007/VOC2007/ImageSets/Main/test.txt\',\'w\')

for i in range(6000):
    f1.write(str(image_index[i])+\'
\')
for i in range(6000,7000):
    f2.write(str(image_index[i])+\'
\')
for i in range(7000):
    f3.write(str(image_index[i])+\'
\')
for i in range(7000,9212):
    f4.write(str(image_index[i])+\'
\')

这个是python格式化输入,和c c++一样的格式化输入

(0)
陈玉龙的头像陈玉龙
上一篇 2022年9月26日
下一篇 2022年9月26日

相关推荐