榊正宗のちょいメモComfyUI:大量のAI生成画像を超効率的に目視選別する「image_selector」
こんには、榊正宗です。今回もComfyUIのツールそのものではありませんが、いっしょに使うと便利なPythonスクリプトをご紹介します。
AI生成画像を大量に作ったは良いけど、良質な画像だけを素早く抽出したい……。そんな課題を解決するための、簡単・便利なPython製画像選別ツール『image_selector』を開発しました!
「image_selector」の特徴
キーボードやマウスの1クリックで簡単に画像を選別
採用した画像は自動でフォルダにコピーされる
Python製なのでWindows/Mac/Linuxで動作可能
簡単でシンプル、誰でもすぐに使える
導入方法
1. Pythonのインストール
Pythonが未導入の場合は公式サイトからインストールしてください。 https://www.python.org/
2. 必要なライブラリをインストール
以下のコマンドで必要なライブラリをインストールします。
pip install pillow
フォルダ構成の準備
以下のフォルダ構成を準備してください。
作業フォルダ/
├─ image_selector.py
├─ images/
│ ├─ 画像1.png
│ ├─ 画像2.jpg
│ └─ …
└─ approved/ ← 採用画像がここにコピーされます
imagesフォルダに、選別したい画像を格納します。
approvedフォルダは自動生成されます(手動作成してもOKです)。
ツールの起動方法
以下のコマンドを実行してツールを起動します。
python image_selector.py
操作方法
採用する場合:「右矢印キー(→)」または「採用」ボタンをクリック
不採用の場合:「左矢印キー(←)」または「不採用」ボタンをクリック
採用した画像は即座にapprovedフォルダへコピーされ、スピーディーに選別が進みます。
選別完了後
全画像の選別が終了すると、完了メッセージが表示され、自動で終了します。
カスタマイズ
スクリプトの中でパスや画像サイズを自由に調整できます。ご自身の用途に合わせて自由にカスタマイズしてください。
ぜひこのツールを使って、AI生成画像の管理を効率化しましょう!
import os
import shutil
from tkinter import Tk, Label, Button, messagebox
from PIL import Image, ImageTk
# 設定
image_folder = "images" # 元画像フォルダ
approved_folder = "approved" # 採用画像フォルダ
# 採用フォルダ作成
os.makedirs(approved_folder, exist_ok=True)
# 対象画像一覧取得
images = [f for f in os.listdir(image_folder) if f.lower().endswith((".png", ".jpg", ".jpeg"))]
index = 0
# 画像ロード処理
def load_image():
global img, tk_img
img_path = os.path.join(image_folder, images[index])
img = Image.open(img_path)
img.thumbnail((800, 600))
tk_img = ImageTk.PhotoImage(img)
label.config(image=tk_img)
root.title(f"画像 {index + 1}/{len(images)} - {images[index]}")
# 採用処理
def approve():
shutil.copy(os.path.join(image_folder, images[index]), approved_folder)
next_image()
# 不採用処理
def reject():
next_image()
# 次の画像処理
def next_image():
global index
index += 1
if index < len(images):
load_image()
else:
messagebox.showinfo("完了", "すべての画像を処理しました。");
root.quit()
# GUIの初期化
root = Tk()
root.geometry("820x650")
label = Label(root)
label.pack(pady=10)
btn_approve = Button(root, text="採用 (→)", command=approve, width=20, height=2)
btn_approve.pack(side='left', padx=50, pady=20)
btn_reject = Button(root, text="不採用 (←)", command=reject, width=20, height=2)
btn_reject.pack(side='right', padx=50, pady=20)
# キーボードショートカットの追加
root.bind('<Right>', lambda event: approve())
root.bind('<Left>', lambda event: reject())
# 初回画像ロード
load_image()
root.mainloop()
👆️ソースコードはこちらです。
👆️ダウンロードしてお使い下さい!
👆️ComfyUI使ってるひとでPython環境がない人はいないと思いますが、Windowsでダブルクリックして動作させたい人はこちら。解凍してimagesフォルダに画像をいれてからexeを起動してください。



コメント