将自己的数据制作成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])+'\n')
for i in range(6000,7000):
    f2.write(str(image_index[i])+'\n')
for i in range(7000):
    f3.write(str(image_index[i])+'\n')
for i in range(7000,9212):
    f4.write(str(image_index[i])+'\n')

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

posted @ 2017-09-15 10:31  有梦就要去实现他  阅读(976)  评论(0编辑  收藏  举报