83 lines
3.6 KiB
Markdown
83 lines
3.6 KiB
Markdown
# FotoApp – Bearbeitung & Batch-Export (PySide6)
|
||
|
||
Windows-Desktop-App (Python 3.11+) für Foto-Batch-Bearbeitung mit LUT-Support.
|
||
|
||
## Funktionen
|
||
|
||
- Fotos laden per Drag & Drop oder Dateidialog (einzeln oder ganze Ordner)
|
||
- Zuschnitt-Presets (Quadrat 1:1, Portrait 4:5, 3:4, Passfoto etc.)
|
||
- **Interaktiver Maus-Crop**: Bei aktivem Crop-Overlay einfach auf das Bild klicken und ziehen, um ein neues Crop-Rechteck zu zeichnen (hält Seitenverhältnis ein). Außerhalb des Crop-Bereichs wird abgedunkelt.
|
||
- Regler: Helligkeit, Kontrast, Sättigung, Temperatur, Tint, Teal & Orange
|
||
- **LUT-Kette (Chain)**: Mehrere .cube-LUTs stapelbar mit eigener Stärke (0–100 %) pro LUT. Reihenfolge per Drag & Drop oder ▲/▼-Buttons änderbar. LUT-Dateien werden gecacht.
|
||
- **Farbmischer (nach LUT)**: HSL-Sättigungsregler pro Farbband (Orange, Gelb, Grün, Cyan, Blau, Magenta) – wird NACH der LUT-Kette angewendet.
|
||
- **Look-System**: Kompletten Bearbeitungszustand (Regler + LUT-Kette + Farbmischer + KI-Parameter) als benannten Look speichern/laden. Ein Klick stellt alles wieder her.
|
||
- **KI-Freistellung**: Person per U²-Net (rembg) freistellen – komplett lokal, kein Cloud-Dienst. Modell wird beim ersten Start automatisch heruntergeladen.
|
||
- **Weiche Kanten (Feather)**: Kanten der Freistellungsmaske per Gaussian Blur stufenlos weichzeichnen.
|
||
- **Hintergrund-Modi**: Original, Unscharf (Portrait-Blur), Einfarbig, Transparent (PNG), Eigenes Hintergrundbild.
|
||
- **Manuelle Masken-Korrektur**: Pinsel-Werkzeug (+ / −) mit einstellbarer Größe und Härte, Undo-Funktion.
|
||
- **Retusche**: Haut weichzeichnen (bilateral Filter) im Personenbereich.
|
||
- Export als JPG/PNG – einzeln oder Batch
|
||
|
||
## Verarbeitungsreihenfolge
|
||
|
||
1. **Basis-Anpassungen**: Helligkeit, Kontrast, Sättigung, Temperatur, Tint, Teal & Orange
|
||
2. **LUT-Kette**: Sequentielle Anwendung aller LUTs mit je eigener Stärke
|
||
3. **Farbmischer**: HSL-Sättigung pro Hue-Band (nach LUT)
|
||
4. **KI-Maske / Freistellung**: Person erkennen + Alpha-Maske generieren
|
||
5. **Feather**: Gaussian Blur auf Alpha-Maske
|
||
6. **Hintergrund-Compositing**: fg × alpha + bg × (1 − alpha)
|
||
7. **Retusche**: Haut weichzeichnen im Maskenbereich
|
||
8. **Nachbearbeitung**: Helligkeit & Kontrast als Fein-Tuning (ganz zum Schluss)
|
||
|
||
## Config-Pfad
|
||
|
||
Alle Einstellungen, Looks und App-State werden unter:
|
||
```
|
||
%APPDATA%\FotoApp\config.json
|
||
```
|
||
gespeichert. Beim ersten Start wird ein eventuell vorhandenes altes `settings.json` migriert.
|
||
|
||
## Setup (Windows)
|
||
|
||
Doppelklick auf `start.bat` – erstellt automatisch venv und installiert Abhängigkeiten.
|
||
|
||
Oder manuell:
|
||
```bash
|
||
py -3 -m venv .venv
|
||
.venv\Scripts\pip install -r requirements.txt
|
||
cd ..
|
||
.venv\Scripts\python -m fotoapp.main
|
||
```
|
||
|
||
## Farbmanagement
|
||
|
||
Bilder mit eingebettetem ICC-Profil (z.B. iPhone Display P3, AdobeRGB)
|
||
werden automatisch nach **sRGB** konvertiert, bevor Anpassungen oder LUTs
|
||
angewendet werden.
|
||
|
||
## LUT-Hinweise
|
||
|
||
- **Nur sRGB/Rec.709-LUTs** funktionieren korrekt ohne zusätzliche Transforms.
|
||
- LUTs für **Log-Footage** (S-Log, C-Log, V-Log etc.) oder **ACES** liefern
|
||
falsche Ergebnisse ohne spezielle Input-Transformation.
|
||
- Unterstützt werden Standard `.cube` 3D-LUTs (Größen 17, 33, 65 üblich).
|
||
- Dateien mit kombinierter 1D+3D LUT werden korrekt geparst (1D-Anteil wird übersprungen).
|
||
|
||
## PyInstaller Build (EXE)
|
||
|
||
### Onefile (einzelne EXE)
|
||
```bash
|
||
pyinstaller --noconfirm --clean --onefile --windowed ^
|
||
--name FotoApp ^
|
||
--collect-all PySide6 ^
|
||
fotoapp\main.py
|
||
```
|
||
|
||
### Onedir (oft stabiler bei Qt)
|
||
```bash
|
||
pyinstaller --noconfirm --clean --onedir --windowed ^
|
||
--name FotoApp ^
|
||
--collect-all PySide6 ^
|
||
fotoapp\main.py
|
||
```
|