python处理ReId公开数据集_MSMT17.zip_Market-1501-v15.09.152.zip_DukeMTMC-reID.zip_cuhk03_release.zip

利用Python处理ReId的公开数据集,把quary数据拷贝到每个单独的文件夹中,地库数据也拷贝到单独的文件夹中,一个文件夹一个reid。

#coding=utf-8
import cv2
import os
import shutil

lib_images_src = "./query"
test_images_src = "./bounding_box_test"

lib_images_dest = "./test_images"
test_images_dest = "./lib_images"

def mkSaveDir(image_root, extra=''):
    #save_dir = image_root + "_save"
    save_dir = image_root + extra
    print("save_dir in mkSaveDir function:", save_dir)
    if not os.path.exists(save_dir):
        os.mkdir(save_dir)
    return save_dir

def mkChildDir(image_root, child=''):
    #save_dir = image_root + "_save"
    save_dir = os.path.join(image_root, child) 
    print("save_dir in mkSaveDir function:", save_dir)
    if not os.path.exists(save_dir):
        os.mkdir(save_dir)
    return save_dir

def copyImage(src_dir, dst_dir):
    for root,dirs, files in os.walk(src_dir):
        for image in files:
            print('image:', image)
            reidNum = image.split('_')[0]
            print('reidNum:', reidNum)
            save_dir = mkChildDir(dst_dir, reidNum)
            src_file = os.path.join(src_dir,image)
            dst_file = os.path.join(dst_dir, reidNum, image)
            print("src_file:", src_file)
            print("dst_file:", dst_file)
            shutil.copy(src_file, dst_file)
  

if __name__ == '__main__':

    copyImage(lib_images_src, lib_images_dest)
    copyImage(test_images_src, test_images_dest)