Euro Muenzen Scanner Pro
  • Python 64.3%
  • HTML 31.4%
  • PowerShell 2.3%
  • Batchfile 1.3%
  • Shell 0.6%
  • Other 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-26 19:33:47 +02:00
backend fix: resolve duplicate catalog entries and fix Saarschleife reference image mismatch 2026-09-26 19:33:47 +02:00
deploy Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
frontend feat: updated training packages with 504 clean EZB reference images and robust path resolution 2026-09-26 19:05:47 +02:00
standard_refs Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
test_crops Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
test_fixed_crops Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
tests feat: Multi-Angle Consensus Voting (12x TTA) + Fine-Tuning Checkpoint Resume 2026-09-26 17:13:35 +02:00
training fix: resolve duplicate catalog entries and fix Saarschleife reference image mismatch 2026-09-26 19:33:47 +02:00
.gitignore feat: updated training packages with 504 clean EZB reference images and robust path resolution 2026-09-26 19:05:47 +02:00
2_Euro_Scanunterlage_10_Muenzen.docx Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
2_Euro_Scanunterlage_10_Muenzen.pdf Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
2_Euro_Scanunterlage_300dpi.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
2_Euro_Scanunterlage_Vorschau.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
add_standard_coins.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
build_dinov2_cache.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
centered_slot_01.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
centered_slot_02.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
create_coin_mat_docx.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
create_coin_mat_pdf.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
DE_2025_SAARLAND_SAARSCHLEIFE.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_auto_upright.jpg Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_coin1.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_coin2.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_empty3.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_empty4.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_gw_bot.jpg Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_gw_top.jpg Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_hough_3334_856.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_hough_3355_2023.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_hough_3871_374.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_hough_3874_670.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_hough_3883_1501.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_hough_3884_1121.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_hough_3887_1726.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_hough_3890_1864.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_hough_3893_1999.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_thresh.jpg Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
debug_warped_a4.jpg Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
dinov2_quantized.onnx Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
docker-compose.yml Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
Dockerfile Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
enhanced_slot_01.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
enhanced_slot_02.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
euro-coin-scanner.tar.gz Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
generate_scan_templates.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
latest_front.jpg Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
latest_overview.jpg Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
mobilenetv2-7.onnx Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
package_training_zips.py feat: updated training packages with 504 clean EZB reference images and robust path resolution 2026-09-26 19:05:47 +02:00
polar_slot_02.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
README.md Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
ref_FI_REGULAR.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
ref_FR_COMMONS.jpg Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
ref_FR_REGULAR.gif Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
ref_FR_REGULAR.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
ref_PT_REGULAR.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
requirements.txt Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
reset_album.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
search_all_dinov2.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
shift_1_top.jpg Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
shift_3_top.jpg Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
slot_01.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
slot_02.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
slot_03.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
slot_04.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
slot_05.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
slot_06.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
slot_07.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
slot_08.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
slot_09.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
slot_10.png Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
test_annotated.jpg Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
test_ct107_run.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
test_detector_new.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
test_dinov2.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
test_full_pipeline_ct107.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
test_match_real.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
test_remote.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
test_rot.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
test_standard_coins.py Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00
user_scan_sample.jpg Initial: Euro Muenzen Scanner Pro v1.0 2026-09-24 22:52:26 +02:00

🪙 Euro Münzen Scanner Pro

KI-gestützte Erkennung und Verwaltung von 2-Euro-Gedenkmünzen.
Scanne deine Münzen mit dem Handy oder PC — die KI identifiziert Motiv, Land, Jahr und erkennt seltene Prägefehler.


✨ Features

  • KI-Erkennung via OpenRouter (Gemini 2.5 Flash/Pro) — 8 Winkel, CLAHE + Unsharp Masking
  • Katalog mit allen 2-Euro-Gedenkmünzen der EU (EZB + Wikidata)
  • Passmarken-Matte für präzise, reproduzierbare Aufnahmen
  • Prägefehler-Erkennung (Spiegelei, Dezentrierungen)
  • Cross-Device Sync — Handy scannen, am PC sofort sehen
  • Sammlung mit SQLite-Datenbank und Duplikat-Erkennung
  • Vergleichsansicht — Dein Scan neben dem Katalog-Referenzbild

🏗️ Systemvoraussetzungen

Komponente Version
Proxmox VE 8.x
Docker 24+
Python 3.11
RAM (Container) ≥ 2 GB empfohlen
OpenRouter API-Key Erforderlich für KI-Erkennung

🚀 Deployment (Proxmox + Docker)

1. Projektdateien auf den Server kopieren

# Auf deinem Windows-PC (PowerShell)
scp -r C:\Users\<user>\.gemini\antigravity\scratch\euro-coin-scanner\ root@10.10.10.163:/opt/euro-coin-scanner/

2. Docker Container starten

# Auf dem Proxmox-Host (CT 107 via SSH oder Shell)
cd /opt/euro-coin-scanner

# Bauen und starten
docker compose up -d --build

# Oder: direkter Start (ohne Compose)
docker run -d \
  --name euro_coin_scanner \
  -p 8088:8000 \
  -v /opt/euro-coin-scanner/backend/storage:/app/backend/storage \
  euro-coin-scanner:latest

3. App aufrufen

http://10.10.10.163:8088

🔑 OpenRouter einrichten

  1. Account erstellen auf openrouter.ai
  2. API-Key generieren unter Keys
  3. In der App: ⚙️ → KI-Einstellungen
    • API-Key einfügen
    • Modell wählen: google/gemini-2.5-flash (empfohlen) oder google/gemini-2.5-pro
    • KI aktivieren ✅

Der Key wird nur im Browser-LocalStorage gespeichert und nie an den Server gesendet.


📱 Cross-Device Sync (Handy → PC)

  1. Öffne die App auf dem Handy: http://10.10.10.163:8088
  2. Scanne eine Münze
  3. Auf dem PC erscheint der Scan automatisch nach ≤ 3 Sekunden
    (Live-Sync-Button 📲 muss aktiv/grün sein)

📸 Scan-Tipps

Passmarken-Matte verwenden

Die Vorlage (PDFs im Ordner docs/) enthält 4 Passmarken-Quadrate:

  • Einzelne Münze: für Nahaufnahmen und optimale Erkennung
  • 10 Münzen: für Batch-Scans bei guten Lichtverhältnissen

Beste Ergebnisse

✅ Gut ❌ Vermeiden
Diffuses Tageslicht Direktes Sonnenlicht / starke Schatten
Makro-Modus aktivieren Digitaler Zoom
Münze reinigen Fettige/verschmutzte Münzen
Kamera senkrecht über Münze Schräger Winkel
Gleichmäßige Beleuchtung von vorn Seitenlicht (Schattenrelief)
Helle, matte Unterlage Glänzende/gemusterte Unterlage

Warum einzeln fotografieren?

Bei Gruppenaufnahmen können:

  • Schatten benachbarter Münzen das Relief verdecken
  • Lichtverhältnisse auf mehrere Münzen ungleichmäßig wirken
  • Die Passmarken-Erkennung Münzen überspringen

→ Für zuverlässige KI-Erkennung: eine Münze pro Aufnahme


🔧 Troubleshooting

KI erkennt Münze nicht

  1. Prüfe ob OpenRouter API-Key konfiguriert ist (⚙️ → KI-Einstellungen)
  2. Probiere google/gemini-2.5-pro statt Flash
  3. Verbessere die Aufnahme (Licht, Makro, senkrecht)
  4. Drehe die Münze um 90° und scanne erneut

Scan schlägt fehl (JSON-Fehler)

Scan fehlgeschlagen: Unexpected token 'I'...

→ OpenRouter-Modell gibt kein JSON zurück. Wechsle das Modell in den Einstellungen.

Passmarken werden nicht erkannt

  • Vorlage nicht verknittert oder falsch beleuchtet (Reflexionen auf glänzendem Papier)
  • Vorlage auf mattem Papier drucken
  • Mindestens A4, besser A3

Container startet nicht

docker logs euro_coin_scanner
# oder
docker compose logs -f

Dateien im Container aktualisieren

# Einzelne Datei
docker cp /opt/euro-coin-scanner/backend/api/main.py euro_coin_scanner:/app/backend/api/main.py
docker restart euro_coin_scanner

# Alle Backend-Dateien
docker cp /opt/euro-coin-scanner/backend/. euro_coin_scanner:/app/backend/
docker restart euro_coin_scanner

📁 Projektstruktur

euro-coin-scanner/
├── backend/
│   ├── api/
│   │   └── main.py              # FastAPI Hauptanwendung
│   ├── ai/
│   │   └── openrouter_matcher.py # KI-Erkennung (8 Winkel, CLAHE)
│   ├── cv/
│   │   ├── coin_detector.py     # Passmarken + Münz-Cropping
│   │   ├── coin_aligner.py      # DINOv2 Feature-Matching
│   │   └── error_detector.py    # Prägefehler-Erkennung
│   ├── catalog/
│   │   └── catalog_updater.py   # EZB/Wikidata Sync
│   ├── database/
│   │   ├── models.py            # SQLAlchemy Modelle
│   │   └── db.py                # Datenbankverbindung
│   └── storage/                 # Bilder, DB, Cache (persistent)
├── frontend/
│   └── index.html               # Single-Page App (Tailwind CSS)
├── docs/
│   ├── 2_Euro_Scanunterlage.pdf        # 10-Münzen Matte
│   └── 2_Euro_Scanunterlage_1.pdf      # 1-Münze Matte
├── Dockerfile
├── docker-compose.yml
└── README.md

🧠 KI-Erkennung (Technische Details)

Die Münzerkennung nutzt einen mehrstufigen Ansatz:

  1. Passmarken-Erkennung (coin_detector.py) — 4 schwarze Quadrate lokalisieren den Münzbereich
  2. Bildvorverarbeitung — CLAHE (Kontrastverstärkung) + Unsharp Masking für metallische Reliefs
  3. 8-Winkel-Kollage — 0°, 45°, 90°, 135°, 180°, 225°, 270°, 315° werden zu einem Grid kombiniert
  4. Vision-KI (OpenRouter Gemini) — analysiert das Grid und extrahiert Motiv, Inschriften, Land, Jahr
  5. Katalog-Matching — Motiv-Token-Abgleich gegen 525+ Katalogeinträge
  6. Prägefehler (error_detector.py) — Spiegelei-Erkennung via Kreisflächen-Analyse

📜 Lizenz

MIT License — freie Nutzung und Weiterentwicklung.