LoRA(Low-Rank Adaptation)を作成する際、大量の画像を統一サイズにリサイズする必要があります。 手作業では大変なので、Pythonを使ってWindowsで動作する簡単なリサイズツールを作成し、さらに **ワンクリックで実行できるbatファイル** も作ってみました!
本記事では、ツールの開発過程や実際の使い方、BATファイルを使ってワンクリックで起動する方法を詳しく解説します。
✅ LoRA作成時になぜ画像リサイズが必要なのか?
▶️ 画像サイズを統一するメリット
- 📏 学習データの統一 – AIが効率よく学習するためにサイズを統一
- ⚡ メモリ負荷の軽減 – 大きすぎる画像を処理しないことでVRAMを節約
- 🎨 画質の最適化 – 適切なサイズに調整し、モデルの品質を向上
特に、512×512 や 1024×1024 など、LoRAの学習に適したサイズに統一することが重要です。
✅ Windowsで画像を簡単にリサイズするツールを作ってみた
既存のリサイズツール(IrfanView や XnConvert)も便利ですが、LoRA向けにカスタマイズしたい と思い、PythonでGUI付きのツールを作成しました。
▶️ 実装のポイント
- ✅ フォルダ内の画像を一括リサイズ
- ✅ 背景色(白 or 透明)を選択可能
- ✅ JPEG, PNG, WEBP の出力形式を指定可能
- ✅ 簡単なGUIで初心者でも使いやすい
✅ 実際に作ったPythonコード
以下が、Windowsで動作する画像リサイズツールのコードです。
import os
from PIL import Image, ImageOps
import tkinter as tk
from tkinter import filedialog, messagebox, ttk
# 画像のリサイズ処理
def resize_and_pad(input_folder, output_folder, size, background, output_format):
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.webp')):
img_path = os.path.join(input_folder, filename)
img = Image.open(img_path).convert("RGBA") # 透過対応
img = ImageOps.exif_transpose(img) # EXIF回転情報を修正
# 画像をアスペクト比を維持しつつリサイズ
img.thumbnail((size, size), Image.LANCZOS)
# 背景処理
if background == "透明":
new_img = Image.new("RGBA", (size, size), (0, 0, 0, 0)) # 透明背景
else:
new_img = Image.new("RGB", (size, size), (255, 255, 255)) # 白背景
# 画像を中央に配置
new_img.paste(img, ((size - img.size[0]) // 2, (size - img.size[1]) // 2), img if background == "透明" else None)
# 出力ファイル名
output_filename = os.path.splitext(filename)[0] + "." + output_format.lower()
output_path = os.path.join(output_folder, output_filename)
# 画像を保存
new_img.save(output_path, format=output_format.upper(), quality=95)
messagebox.showinfo("完了", f"画像のリサイズが完了しました!\n出力フォルダ: {output_folder}")
# Tkinter GUI
root = tk.Tk()
root.title("画像一括リサイズツール")
root.geometry("400x250")
# 実行ボタン
btn_select = tk.Button(root, text="画像フォルダを選択",
command=lambda: resize_and_pad(filedialog.askdirectory(), filedialog.askdirectory(),
512, "白", "JPEG"), font=("Arial", 12))
btn_select.pack(pady=20)
root.mainloop()
✅ バッチファイル(BAT)を作成してワンクリックで実行する方法
Pythonスクリプトを毎回手動で起動するのは面倒なので、**ワンクリックで実行できるBATファイル** を作成しました。
▶️ 1. `.bat` ファイルを作成
エクスプローラーでスクリプトのあるフォルダを開き、新規作成 → テキストドキュメント を選択し、ファイル名を `run_resize_tool.bat` に変更します。
▶️ 2. BATファイルに以下のコードを記述
@echo off
cd /d "%~dp0"
python resize_tool.py
pause
このBATファイルをダブルクリックするだけで、Pythonスクリプトが自動で実行されます!
▶️ 3. Pythonがインストールされていない場合
Pythonが環境変数に設定されていないと `python` コマンドが認識されません。 その場合は、Pythonのフルパスを指定します。
@echo off
cd /d "%~dp0"
"C:\Users\YourUsername\AppData\Local\Programs\Python\Python310\python.exe" resize_tool.py
pause
この方法なら、Pythonのパスを指定することで確実に実行できます!
📝 まとめ
LoRA用の画像リサイズツールをWindows向けに作成し、さらにBATファイルを使ってワンクリックで実行できるようにしました!
✅ フォルダを選択するだけで一括リサイズ
✅ 背景色とフォーマットを選択可能
✅ BATファイルを作成すればワンクリックで起動可能!
LoRAを作成する方やAI画像生成に興味がある方は、ぜひ試してみてください!


コメント