Fix: grosse Fahrzeuge (LKW/Bus) wurden nicht gezaehlt

Bezugspunkt fuer die Linienueberquerung von Box-Mitte auf Bodenkontakt
(Unterkante-Mitte) geaendert. Bei hohen Fahrzeugen lag die Box-Mitte
weit ueber der Strasse und kreuzte die Linie nie. Die Unterkante = wo
das Fahrzeug die Strasse beruehrt -> korrekt fuer PKW und LKW/Bus.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-03 09:51:25 +02:00
parent 8a7323a35f
commit 0b182e23fa

6
app.py
View File

@@ -386,8 +386,12 @@ def process_frame(frame, det_model, det_names, line_start, line_end, state, sour
for box, class_id, track_id in zip(boxes, class_ids, track_ids):
label_name = det_names[class_id]
x1, y1, x2, y2 = box
# Bezugspunkt = Bodenkontakt (Unterkante-Mitte), NICHT Box-Mitte.
# Bei hohen/grossen Fahrzeugen (LKW/Bus) liegt die Box-Mitte weit
# ueber der Strasse und ueberquert die Linie nie -> wurde nicht
# gezaehlt. Die Unterkante = wo das Fahrzeug die Strasse beruehrt.
center_x = (x1 + x2) // 2
center_y = (y1 + y2) // 2
center_y = y2
if label_name in VEHICLE_CLASSES:
if COUNT_DEBUG: