自家製VOCデータセットのテストセットのラベルと画像を抽出する


最新の実装バージョンhttps://blog.csdn.net/qq_35153620/article/details/102657940
自家製VOC検出データセットImageSets/Main/testによる.txtファイルのデータテストセットのラベルと画像をデータセットから抽出する
1.テストセットラベルファイルを抽出するには:
データセットのAnnotations(ラベルフォルダを格納)をコピーし、trainと名前を変更してanno_に書き込むpath
testフォルダを新規作成
最後のトレーニングセットのラベルはtrianフォルダに保存され、テストセットのラベルはtestに保存されます.
import os
import shutil

test_path = '/data/VOCdevkit2007-car/VOC2007/ImageSets/Main/test.txt'
anno_path = '/data/VOCdevkit2007-car/VOC2007/train/'
new_path = '/data/VOCdevkit2007-car/VOC2007/test/'

def _main():
    fp = open(test_path, 'r')
    xml_list = fp.readlines()
    fp.close()
    i = 0
    for file in xml_list:
        xml_file = file.replace('
', '') shutil.copyfile(anno_path + xml_file+'.xml', new_path + xml_file+'.xml') os.remove(anno_path + xml_file+'.xml') i =+ 1 print xml_file+'.xml' print(i) if __name__ == '__main__': _main()

 
 2.テストセットの画像を抽出
image_pathはデータセットのすべての画像格納フォルダです
new_pathはテストセット画像格納フォルダです
import os
import shutil

train_path = '/data/VOCdevkit2007-car/VOC2007/ImageSets/Main/test.txt'
image_path = '/data/VOCdevkit2007-car/VOC2007/JPEGImages/'
new_path = '/data/VOCdevkit2007-car/VOC2007/test_image/'

def _main():
    fp = open(train_path, 'r')
    xml_list = fp.readlines()
    fp.close()
    for file in xml_list:
        filename = file.split('
') print(filename[0]) shutil.copyfile(image_path + filename[0]+'.jpg', new_path + filename[0] +'.jpg') #shutil.copyfile(anno_path + filename[0]+'.xml', new_anno_path + filename[0] +'.xml') #os.remove(anno_path + file[:9]+'.xml') print filename[0]+'.jpg' print len(xml_list) if __name__ == '__main__': _main()