python将图片按照标签分类复制到指定的文件夹

对文件夹test下的图片进行kmeans聚类之后(这里我将k设为7),得到一个txt文件。txt文件中有两列数据,第一列是对应图片属于的类别,第二列是该图片距离质心的距离。如图所示:
在这里插入图片描述
现在我新建了0到6七个文件夹,然后将图片按照类别复制到不同文件夹下,详细代码如下:

import numpy as np
import os
import shutil

# 读取txt文件并将其转化为array
f = open(r"./result.txt")
line = f.readline()
data_list = []
while line:
    num = list(map(float, line.split(',')))
    data_list.append(num)
    line = f.readline()
f.close()
data_array = np.array(data_list)
# print(data_array[:,0])

# 读取每张图片按照其分类复制到相应的文件夹中
imgs = os.listdir('./test')
imgnum = len(imgs)  # 文件夹中图片的数量
j = 1
for i in range(imgnum):  # 遍历每张图片
    # print(int(data_array[i][0]))
    label=int(data_array[i][0])    #图片对应的类别
    shutil.move('./test/'+str(j)+'.jpg', './'+str(label)+'/'+str(j)+'.jpg')
    j+=1

这里用到了shutil.move()函数,将图片从一个文件夹移动到另一个文件夹。第一个参数是旧的文件路径,第二个参数为新的文件路径。

猜你喜欢

转载自blog.csdn.net/hnu_zzt/article/details/84885843