update
This commit is contained in:
82
APP/fotoapp - Kopie/README.md
Normal file
82
APP/fotoapp - Kopie/README.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user