From cc301ce3956fa5c0ecdbe613244c63b55ba045da Mon Sep 17 00:00:00 2001 From: sebastian Date: Fri, 8 May 2026 17:58:30 +0200 Subject: [PATCH] ADD: Manual Classifier to create training data --- classifier-training/manual-classifier.py | 34 ++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 classifier-training/manual-classifier.py diff --git a/classifier-training/manual-classifier.py b/classifier-training/manual-classifier.py new file mode 100644 index 0000000..51903b2 --- /dev/null +++ b/classifier-training/manual-classifier.py @@ -0,0 +1,34 @@ +# quick_labeler.py +import random +import shutil, os +from pathlib import Path +from PIL import Image +import matplotlib.pyplot as plt + +SOURCE = Path("alle_meine_fotos/") +images = list(SOURCE.glob("**/*.jpg")) + list(SOURCE.glob("**/*.png")) + + +DIRS = [ + "dataset/train/wallpaper", "dataset/train/no_wallpaper", + "dataset/val/wallpaper", "dataset/val/no_wallpaper", +] +for d in DIRS: + Path(d).mkdir(parents=True, exist_ok=True) + +for img_path in images: + img = Image.open(img_path) + plt.imshow(img) + plt.title(img_path.name) + plt.axis("off") + plt.show(block=False) + + label = input("Wallpaper? (y/n/q): ").strip().lower() + plt.close() + + if label == "q": + break + elif label in ("y", "n"): + folder = "wallpaper" if label == "y" else "no_wallpaper" + split = "train" if random.random() < 0.8 else "val" + shutil.copy(img_path, f"dataset/{split}/{folder}/{img_path.name}")