From dcb171f093767f6c38b09caa10c794614149a55e Mon Sep 17 00:00:00 2001 From: Joachim Hummel Date: Mon, 8 Dec 2025 15:49:48 +0000 Subject: [PATCH] =?UTF-8?q?Debug-Visualisierung=20f=C3=BCr=20Fahrzeugz?= =?UTF-8?q?=C3=A4hlung=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Neue visuelle Features: - Gelber Punkt am Zentrum jeder Bounding Box - Grüner Kreis erscheint beim Zählen eines Fahrzeugs - "✓" wird zum Label hinzugefügt wenn Fahrzeug gezählt wurde - Grüne Boxen für zählbare Fahrzeuge, blaue für andere Objekte Hilft beim Debuggen: - Zeigt visuell welche Fahrzeuge bereits gezählt wurden - Macht den Zenterpunkt sichtbar für Line-Intersection - Bestätigt visuell erfolgreiche Zählung 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- app.py | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/app.py b/app.py index 525a1aa..82a95d3 100644 --- a/app.py +++ b/app.py @@ -135,13 +135,24 @@ def detect_objects_from_webcam(line_data): counted_ids.add(track_id) vehicle_count += 1 vehicle_type_counts[c] += 1 + # Draw visual feedback when vehicle is counted (green circle) + cv2.circle(frame, (center_x, center_y), 15, (0, 255, 0), 3) # Update position track_positions[track_id] = (center_x, center_y) # Draw bounding box and label - cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 2) - cv2.putText(frame, f'{track_id} - {c}', (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 0, 255), 1) + box_color = (0, 255, 0) if c in VEHICLE_CLASSES else (255, 0, 0) + cv2.rectangle(frame, (x1, y1), (x2, y2), box_color, 2) + + # Show if already counted + label = f'{track_id} - {c}' + if track_id in counted_ids: + label += ' ✓' + cv2.putText(frame, label, (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 0, 255), 1) + + # Draw center point (yellow) + cv2.circle(frame, (center_x, center_y), 3, (0, 255, 255), -1) # Display vehicle count with type breakdown cv2.rectangle(frame, (10, 10), (350, 140), (0, 0, 0), -1) @@ -259,13 +270,24 @@ def detect_objects_from_video(video_path, line_data): counted_ids.add(track_id) vehicle_count += 1 vehicle_type_counts[c] += 1 + # Draw visual feedback when vehicle is counted (green circle) + cv2.circle(frame, (center_x, center_y), 15, (0, 255, 0), 3) # Update position track_positions[track_id] = (center_x, center_y) # Draw bounding box and label - cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 2) - cv2.putText(frame, f'{track_id} - {c}', (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 0, 255), 1) + box_color = (0, 255, 0) if c in VEHICLE_CLASSES else (255, 0, 0) + cv2.rectangle(frame, (x1, y1), (x2, y2), box_color, 2) + + # Show if already counted + label = f'{track_id} - {c}' + if track_id in counted_ids: + label += ' ✓' + cv2.putText(frame, label, (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 0, 255), 1) + + # Draw center point (yellow) + cv2.circle(frame, (center_x, center_y), 3, (0, 255, 255), -1) # Display vehicle count with type breakdown cv2.rectangle(frame, (10, 10), (350, 140), (0, 0, 0), -1)