The problem
The Automatic Number Plate Recognition (ANPR) system is a computer-vision final-year project that automatically detects vehicle registration plates in images and live video, segments the characters and recognizes them with OCR. Built with OpenCV for plate detection and Tesseract/EasyOCR for character recognition, with a Flask web app front end, this number plate recognition project is branded PlateScan and handles Indian plate formats (e.g. MH 12 AB 3456), tilted or skewed plates and low-light frames — exactly the pipeline (detection → segmentation → OCR) that AI/ML viva examiners expect you to explain.
This is a built-to-order project: every deliverable is prepared fresh for you — full source code, report PDF, PPT and viva Q&A — so nothing looks recycled.
How it works
- A frame is captured from an uploaded image, video file or live camera feed.
- Pre-processing: grayscale conversion, bilateral filtering, CLAHE contrast enhancement and adaptive thresholding.
- Edge detection (Canny) and contour analysis locate rectangular candidates matching plate aspect ratios; a Haar cascade / contour classifier filters false positives.
- The plate region is cropped, deskewed with a perspective transform and normalized.
- Character segmentation splits the plate into individual glyphs via contour bounding boxes, handling merged characters with vertical projection analysis.
- Tesseract or EasyOCR recognizes each character and returns text with confidence scores.
- The result is validated against Indian plate patterns, displayed in the PlateScan dashboard and logged with the snapshot.
Project features
- Automatic plate localization in images and live webcam/CCTV video streams
- Character segmentation with contour analysis and projection profiles
- OCR recognition via Tesseract and EasyOCR with confidence scoring
- Indian plate format validation (state code, RTO series, registration number)
- Skew/tilt correction using perspective transforms before recognition
- Low-light and night-frame enhancement (CLAHE + adaptive thresholding)
- PlateScan Flask web app: upload image or use live camera, view annotated output
- Detection log with timestamps, snapshots and recognized text export (CSV)
- Batch processing mode for evaluating accuracy over a test image set
- Configurable confidence threshold with manual-review queue for low scores
What is included
- Complete, commented Python source code (detection, OCR, web app)
- PlateScan Flask web application with dashboard UI
- Project report PDF (literature survey, methodology, results, accuracy tables, conclusion)
- PPT presentation for final review
- Viva Q&A preparation document (contour theory, OCR internals, OpenCV functions)
- Sample test image/video set + installation and run guide
Components & software requirements
- Python 3.9+ (NumPy, imutils, scikit-image)
- OpenCV (plate detection, perspective correction, preprocessing)
- Tesseract OCR / EasyOCR (character recognition)
- Flask + HTML/CSS/JS (PlateScan web dashboard)
- SQLite (detection log storage)
- Matplotlib (accuracy and timing charts for the report)