Según la división del conjunto de datos de etiqueta para hacer la misma división del conjunto de datos de entrada

Cuando se realizan tareas de aprendizaje automático sobre el procesamiento de imágenes, a veces se trata de conjuntos de datos de entrada y de etiquetas que deben realizar el mismo procesamiento previo, como la segmentación. Cuando el conjunto de datos de etiquetas se divide de acuerdo con las reglas, las partes correspondientes de la entrada deben ser el mismo trato con. Registre aquí si la entrada se divide igualmente de acuerdo con la etiqueta ya dividida (aleatoriamente proporcionalmente).

1. Primero escribe el nombre de cada parte de la imagen debajo de la etiqueta en txt.

ls -R /home/datalab/work/datasets/test_7pilang/*.jpg > file.txt

2. De acuerdo con el nombre de cada archivo en el txt, recorra la carpeta de entrada, filtre las imágenes correspondientes en la entrada y muévase al directorio especificado. (Puede haber uno a muchos, si hay una etiqueta, pero la entrada tiene bandas de infrarrojos RGB e IR, etc., pero el nombre a menudo solo es diferente en el sufijo, así que use el método para juzgar si contiene el cadena correspondiente)

import os,shutil
path = r"test_file.txt"
#传入要读的文件路径
filee = open(path,"r",encoding="utf-8",errors="ignore")
sourceDir="/home/xzx/Project/Spatiotemporal/data/singleImage/cloudy" #源目录
targetDir="/home/xzx/Project/Spatiotemporal/data/singleImage/test/" #目标目录

while True:
    mystr = filee.readline()#表示一次读取一行
    mystr = mystr[:-5]
    if not mystr:
#读到数据最后跳出,结束循环。数据的最后也就是读不到数据了,mystr为空的时候
        break
    for root, dirs, files in os.walk(sourceDir):
        for file in files:
            result = mystr in file
            if result == True:
                shutil.move(os.path.join(root,file),targetDir) #移动

Supongo que te gusta

Origin blog.csdn.net/qq_41872271/article/details/107618831
Recomendado
Clasificación