How katekateline/yolo-car works
This Flask service accepts image uploads from Laravel and returns vehicle, color, plate, or QR results. The main workflow is upload and decode, then either QR scanning or vehicle detection with color analysis; vehicle crops may also be sent asynchronously to PlateRecognizer. Results are logged locally and can be posted back to Laravel. The README documents an optional Laravel callback and webcam capture mode. Source excerpts are partial, so uncertain internal steps are omitted.
Main entry points: app.py Flask service · detector.py Vehicle detection · color_detector.py Color analysis · model_utils.py Model resolution
Components 14
API workflow
- Flask service
yolo-service/app.py - Upload decoding
yolo-service/app.py - JSON response
yolo-service/app.py
Image analysis
- Vehicle detection
yolo-service/detector.py - Color analysis
yolo-service/color_detector.py - QR scanning
yolo-service/app.py - Plate recognition
yolo-service/app.py - Model resolution
yolo-service/model_utils.py
External integrations
- PlateRecognizer
- Laravel callback
yolo-service/app.py
Runtime state
- Analysis history
yolo-service/frame_analysis.jsonl - Latest analysis
yolo-service/latest_analysis.json
Other components
- Laravel app
- IP webcam
Connections 16
- Laravel app → Flask service: uploads image
- Flask service → Upload decoding: decodes upload
- Upload decoding → Vehicle detection: vehicle scan
- Upload decoding → QR scanning: QR scan
- Flask service → Model resolution: resolves model
- Flask service → Vehicle detection: initializes detector
- Vehicle detection → Color analysis: analyzes crop
- Flask service → Plate recognition: sends vehicle crop
- Plate recognition → PlateRecognizer: recognizes plate
- Flask service → Analysis history: appends results
- Flask service → Latest analysis: updates results
- Flask service → JSON response: builds result
- JSON response → Laravel app: returns JSON
- Flask service → Laravel callback: dispatches optionally
- Laravel callback → Laravel app: posts results
- IP webcam → Flask service: provides frames