from matplotlib import image
transform = transforms.Compose([
transforms.Resize((224, 224)), # 调整图像大小
transforms.ToTensor(), # 将图像转换为Tensor
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) # 标准化操作
])
dataset_path = './data3_dir/'
dataset = datasets.ImageFolder(root=dataset_path, transform=transform)
# 为每个类别维护一个索引
class_indices = {class_label: 0 for class_label in dataset.classes}
for idx, (image_path, label) in enumerate(dataset.samples):
class_label = dataset.classes[label]
class_indices[class_label] += 1
# 在这里你可以将序号添加到图片文件名中,例如 "image1_class1.jpg"
new_filename = f"image{class_indices[class_label]}_{class_label}.jpg"
# 构造新的路径
new_image_path = os.path.join(dataset_path, class_label, new_filename)
# 如果新路径已经存在,则递增索引,直到找到一个可用的文件名
while os.path.exists(new_image_path):
class_indices[class_label] += 1
new_filename = f"image{class_indices[class_label]}_{class_label}.jpg"
new_image_path = os.path.join(dataset_path, class_label, new_filename)
# 重命名图片文件
os.rename(image_path, new_image_path)
print("Dataset images labeled with indices.")