import\x20tkinter\x20as\x20tk from\x20PIL\x20import\x20ImageTk, Image import\x20os import\x20shutil

class\x20ImageClassificationTool: \x20\x20def\x20__init__(self, root): \x20\x20\x20\x20self.root\x20=\x20root \x20\x20\x20\x20self.root.title("Image Classification Tool") \x20\x20\x20\x20 \x20\x20\x20\x20self.image_frame\x20=\x20tk.Frame(self.root) \x20\x20\x20\x20self.image_frame.pack() \x20\x20\x20\x20 \x20\x20\x20\x20self.button_frame\x20=\x20tk.Frame(self.root) \x20\x20\x20\x20self.button_frame.pack() \x20\x20\x20\x20 \x20\x20\x20\x20self.image_paths\x20=\x20[] \x20\x20\x20\x20self.current_image_index\x20=\x200 \x20\x20\x20\x20 \x20\x20\x20\x20self.image_labels\x20=\x20[] \x20\x20\x20\x20self.display_count\x20=\x202 \x20\x20\x20\x20 \x20\x20\x20\x20self.load_images_from_folder()\x20\x20#\x20加载图片 \x20\x20\x20\x20self.display_images()\x20\x20#\x20显示图片 \x20\x20\x20\x20 \x20\x20\x20\x20self.create_buttons()\x20\x20#\x20创建按钮 \x20\x20 \x20\x20def\x20load_images_from_folder(self): \x20\x20\x20\x20folder_path\x20=\x20"path_to_folder"\x20#\x20更改为你的文件夹路径 \x20\x20\x20\x20self.image_paths\x20=\x20sorted([os.path.join(folder_path, file)\x20for\x20file\x20in\x20os.listdir(folder_path)\x20if\x20file.endswith(".jpg")]) \x20\x20 \x20\x20def\x20display_images(self): \x20\x20\x20\x20for\x20label\x20in\x20self.image_labels: \x20\x20\x20\x20\x20\x20label.destroy() \x20\x20\x20\x20self.image_labels\x20=\x20[] \x20\x20\x20\x20 \x20\x20\x20\x20for\x20i\x20in\x20range(self.current_image_index, self.current_image_index\x20+\x20self.display_count): \x20\x20\x20\x20\x20\x20if\x20i\x20<\x20len(self.image_paths): \x20\x20\x20\x20\x20\x20\x20\x20image_path\x20=\x20self.image_paths[i] \x20\x20\x20\x20\x20\x20\x20\x20img\x20=\x20Image.open(image_path) \x20\x20\x20\x20\x20\x20\x20\x20img\x20=\x20img.resize((200, 200), Image.ANTIALIAS) \x20\x20\x20\x20\x20\x20\x20\x20photo\x20=\x20ImageTk.PhotoImage(img) \x20\x20\x20\x20\x20\x20\x20\x20label\x20=\x20tk.Label(self.image_frame, image=photo) \x20\x20\x20\x20\x20\x20\x20\x20label.image\x20=\x20photo \x20\x20\x20\x20\x20\x20\x20\x20label.grid(row=(i\x20%\x20self.display_count), column=(i\x20//\x20self.display_count)) \x20\x20\x20\x20\x20\x20\x20\x20self.image_labels.append(label) \x20\x20 \x20\x20def\x20create_buttons(self): \x20\x20\x20\x20for\x20folder_index\x20in\x20range(4):\x20#\x20更改为你需要的文件夹数量 \x20\x20\x20\x20\x20\x20button\x20=\x20tk.Button(self.button_frame, text=f"Folder {folder_index+1}", command=lambda index=folder_index: self.save_images_to_folder(index)) \x20\x20\x20\x20\x20\x20button.pack(side="left") \x20\x20 \x20\x20def\x20save_images_to_folder(self, folder_index): \x20\x20\x20\x20folder_path\x20=\x20f"path_to_save_folder/Folder{folder_index+1}"\x20#\x20更改为你的文件夹保存路径 \x20\x20\x20\x20os.makedirs(folder_path, exist_ok=True) \x20\x20\x20\x20for\x20i\x20in\x20range(self.current_image_index, self.current_image_index\x20+\x20self.display_count): \x20\x20\x20\x20\x20\x20if\x20i\x20<\x20len(self.image_paths): \x20\x20\x20\x20\x20\x20\x20\x20image_path\x20=\x20self.image_paths[i] \x20\x20\x20\x20\x20\x20\x20\x20shutil.copy(image_path, folder_path) \x20\x20\x20\x20\x20\x20print(f"Images saved to Folder {folder_index+1}") \x20\x20 root\x20=\x20tk.Tk() app\x20=\x20ImageClassificationTool(root) root.mainloop()

Python 图片分类工具脚本:批量保存图片到指定文件夹

原文地址: https://www.cveoy.top/t/topic/qE6c 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录