import tkinter as tk from PIL import ImageTk, Image import os import shutil

class ImageClassificationTool: def init(self, root): self.root = root self.root.title('Image Classification Tool')

    self.image_frame = tk.Frame(self.root)
    self.image_frame.pack()
    self.image_labels = []
    
    self.button_frame = tk.Frame(self.root)
    self.button_frame.pack()

    self.image_paths = []
    self.current_image_index = 0

    self.display_count = 2

    self.load_images_from_folder()  
    self.display_images()

    self.create_buttons()

def load_images_from_folder(self):
    folder_path = 'path_to_folder'  # 更改为你的文件夹路径
    self.image_paths = sorted([os.path.join(folder_path, file) for file in os.listdir(folder_path) if file.endswith('.jpg')])

def display_images(self):
    for label in self.image_labels:
        label.destroy()
    self.image_labels = []

    for i in range(self.current_image_index, self.current_image_index + self.display_count):
        if i < len(self.image_paths):
            image_path = self.image_paths[i]
            img = Image.open(image_path)
            img = img.resize((200, 200), Image.ANTIALIAS)
            photo = ImageTk.PhotoImage(img)
            label = tk.Label(self.image_frame, image=photo)
            label.image = photo
            label.grid(row=0, column=i-self.current_image_index)
            self.image_labels.append(label)

def create_buttons(self):
    folder_paths = ['path_to_folder1', 'path_to_folder2', 'path_to_folder3', 'path_to_folder4']  # 更改为你需要的文件夹路径
    self.button_index = 0
    button = tk.Button(self.button_frame, text=f'Folder {self.button_index+1}', command=self.process_images)
    button.pack(side='left')

def process_images(self):
    folder_path = folder_paths[self.button_index]
    os.makedirs(folder_path, exist_ok=True)
    for i in range(self.current_image_index, self.current_image_index + self.display_count):
        if i < len(self.image_paths):
            image_path = self.image_paths[i]
            shutil.copy(image_path, folder_path)
            print(f'Image {image_path} saved to Folder {self.button_index+1}')
    self.button_index += 1
    if self.button_index < len(folder_paths):
        button = tk.Button(self.button_frame, text=f'Folder {self.button_index+1}', command=self.process_images)
        button.pack(side='left')
    self.current_image_index += self.display_count
    if self.current_image_index >= len(self.image_paths):
        print('All images processed.')
    self.display_images()

root = tk.Tk() app = ImageClassificationTool(root) root.mainloop()

Image Classification Tool: Batch Image Sorting with Tkinter

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

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