Fix couleur véhicule, supprime filtre caméra, améliore debug
- 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>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
528a158c42
commit
8c2af7dfab
+6
-5
@@ -111,11 +111,12 @@ class PlateAnalyzer:
|
||||
avg_conf = float(np.mean(confs)) if confs else 0.0
|
||||
return text, avg_conf
|
||||
|
||||
def read_plate(self, frame: np.ndarray) -> tuple[str, float]:
|
||||
"""Detect plate in frame, read text. Returns (plate_text, confidence)."""
|
||||
def read_plate(self, frame: np.ndarray) -> tuple[str, float, tuple | None]:
|
||||
"""Detect plate, read text. Returns (plate_text, confidence, bbox_or_None).
|
||||
bbox = (x1, y1, x2, y2) in pixel coords."""
|
||||
plate_boxes = self.detect_plates(frame)
|
||||
if not plate_boxes:
|
||||
return "", 0.0
|
||||
return "", 0.0, None
|
||||
|
||||
x1, y1, x2, y2, plate_conf = plate_boxes[0]
|
||||
pad = 8
|
||||
@@ -130,6 +131,6 @@ class PlateAnalyzer:
|
||||
# Filter noise: plate must have at least 4 alphanumeric chars
|
||||
alnum = "".join(c for c in text if c.isalnum())
|
||||
if len(alnum) < 4:
|
||||
return "", 0.0
|
||||
return "", 0.0, (int(x1), int(y1), int(x2), int(y2))
|
||||
|
||||
return text, (plate_conf + ocr_conf) / 2.0
|
||||
return text, (plate_conf + ocr_conf) / 2.0, (int(x1), int(y1), int(x2), int(y2))
|
||||
|
||||
Reference in New Issue
Block a user