Logo Lanfrica

amani-patrick/CarNumber_Plate_detection

Domaine:

digital infrastructure

Type de record:

software
Créateur:
ama
Hôte:
# Automatic Number Plate Recognition (ANPR) System A lightweight, CPU-friendly Automatic Number Plate Recognition system built with OpenCV and Tesseract OCR. This project implements a complete pipeline for detecting, aligning, reading, and logging vehicle number plates from live camera feed. ## 📋 Pipeline Overview The system follows a strict three-stage pipeline with additional validation and persistence layers: Camera → Detection → Alignment → OCR → Validation → Temporal Confirmation → CSV Logging ### Pipeline Stages 1. **Detection** (`detect.py`) - Locates plate-like regions using contour analysis and geometric filtering 2. **Alignment** (`align.py`) - Corrects perspective distortion and normalizes plate to fixed size (450×140) 3. **OCR** (`ocr.py`) - Extracts text using Tesseract with character whitelist 4. **Validation** (`validate.py`) - Validates extracted text against Rwanda plate pattern (AAA999A) 5. **Temporal Confirmation** (`temporal.py`) - Confirms plate across multiple frames using majority voting 6. **Logging** - Saves confirmed plates to CSV with timestamps ## 🚀 Getting Started ### Prerequisites - Python 3.6+ - Tesseract OCR engine - Webcam ### Installation 1. **Clone the repository** ```bash git clone github.com cd CarNumber_Plate_detection ``` 2. **Create and activate virtual environment** ```bash python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate ``` 3. **Install dependencies** ```bash pip install --upgrade pip pip install -r requirements.txt ``` 4. **Install Tesseract OCR** _macOS:_ ```bash brew install tesseract ``` _Ubuntu/Debian:_ ```bash sudo apt update sudo apt install tesseract-ocr ``` _Windows:_ Download from github.com 5. **Verify camera works** ```bash python src/camera.py ``` Press 'q' to quit the camera preview. ## 📁 Project Structure ``` anpr-project/ │ ├── src/ │ ├── camera.py │ ├── det …