有没有一种方法可以使用标签将图像分类到文件夹中?

尝试根据输出的标签将我的非监督图像分类到文件夹中。我从一个.jpg图像目录开始,将它们调整为一个新目录,然后将每个图像变成一个串联为1个.csv的线阵列。 .csv将以pandas数据帧的形式读回,并应用KMeans来查看我是否具有任何类型的集群。我试图创建目标文件夹,如果该文件夹不存在,则会在其中创建它。起初我想写一条if-else语句,但是我意识到当我到达if语句时,标签已经在数组中了,我认为我可以将文件名与标签链接,因为它已经生成但没有工作。我还意识到,在将文件名转换为.csv之后,文件名不再与图像数组链接。

MY_DIRECTORY = "\\test\\"
OUT_DIRECTORY = "\\testresize\\"

for filename in glob.glob(MY_DIRECTORY+"*.jpg"):
    # select the desired resolution
    size = 200,200
    file_parts = os.path.splitext(filename)
    outfile = file_parts[0] + '_200x200' + file_parts[1]
    outfile = os.path.basename(outfile)
    print(outfile)
    img = Image.open(filename)
    img = img.resize(size,Image.ANTIALIAS)
    img.save(OUT_DIRECTORY + outfile,'jpeg')



for img in os.listdir(OUT_DIRECTORY):
    img_array = cv2.imread(os.path.join(OUT_DIRECTORY,img),cv2.IMREAD_GRAYSCALE)
    img_array = (img_array.flatten())
    img_array = img_array.reshape(-1,1).T
    img_array = img_array/255.0
    print(img_array)
open('\\test.csv','ab') as f:
        np.savetxt(f,img_array,delimiter = ',')

dest_fold_0 = '\\Sorted\\Label_0'
dest_fold_1 = '\\Sorted\\Label_1'
dest_fold_2 = '\\Sorted\\Label_2'



combined_array = pd.read_csv('\\test.csv',header = None,low_memory = False,error_bad_lines = False)

model = KMeans(algorithm = 'auto',copy_x = True,init = 'k-means++',max_iter = 300,n_clusters = 2,n_init = 10,n_jobs = 1,precompute_distances = 'auto',random_state = 1,tol = 0.0001,verbose = 0)
model.fit(combined_array)
labels = model.predict(combined_array)

if labels == 0:
    if not os.path.exists(dest_fold_0):
        os.mkdir(dest_fold_0)
    img.save(dest_fold_0 + outfile,'jpeg')

elif labels == 1:
    if not os.path.exists(dest_fold_1):
        os.mkdir(dest_fold_1)
    img.save(dest_fold_1 + outfile,'jpeg')

elif labels == 2:
    if not os.path.exists(dest_fold_2):
        os.mkdir(dest_fold_2)
    img.save(dest_fold_2 + outfile,'jpeg')
else:
    pass

print(labels)
print(model.inertia_)    pd.DataFrame(labels).to_csv("C:\\Users\\rzara\\Desktop\\ProcessofUnsupervisedLearning\\labels.csv")
gchen3 回答:有没有一种方法可以使用标签将图像分类到文件夹中?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3156609.html

大家都在问