New /config/zone page lets users draw a polygon over a camera frame
(including live RTSP snapshot) to define the area where vehicle detection
applies. Zone is stored in /data/zone.json and applied in two ways:
- Motion scoring: inter-frame diff is masked outside the zone so garden
movement doesn't inflate frame scores
- YOLO plate detection: detections whose center falls outside the zone
are filtered out
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Whitelist: plates added to /whitelist are silently ignored on
detection — no clip, no frames, no DB entry. Manageable via
/whitelist page or from the event detail page per-event.
Stats: /stats shows all known plates ranked by passage count,
with first/last seen dates and one-click whitelist toggle.
Navigation links added to the index header.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
POST /upload saves the file, runs full processing (transcode, frame extraction,
LPR, color detection) and redirects to the resulting event page.
UI: "Tester un clip" button in header reveals a file picker form.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Couleur : crop autour de la plaque (zone carrosserie au-dessus) au lieu du frame entier ; fallback center 50% si pas de plaque
- lpr.read_plate() retourne maintenant (text, conf, bbox) pour exposer la position de la plaque
- Index : supprime filtre caméra et badge caméra (une seule caméra)
- Carte index : badge ▶ clip si clip disponible
- Page détail : section debug (nb frames, taille clip, id), gestion propre des anciens événements sans clip/frames
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Sauvegarde le clip MP4 et les top 10 frames par événement dans /data/events/{id}/
- Nouvelle route GET /event/{id} avec page détail : info, vignette interactive, lecteur vidéo, galerie frames
- Les cartes de l'index sont maintenant cliquables
- Migration DB : ajout colonne clip_path sur les BDD existantes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remplace la source Frigate par l'API GetAiState de la caméra Reolink
- Capture RTSP en temps réel (~20s) quand véhicule détecté, garde la meilleure frame
- LPR avec YOLOv9 (détection plaque) + PaddleOCR v4 (lecture texte) via ONNX
- Modèles partagés avec Frigate (volume local ./models/)
- Cooldown 60s entre événements pour éviter les doublons
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Polls Frigate events API, extracts dominant vehicle color (KMeans),
reads LPR plate from Frigate sub_label. Responsive dark UI with
filter by plate/camera/date and auto-refresh. FastAPI + SQLite.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>