

11 September 2026

Detecting that a rectangle in an image is a license plate is the easy 20% of an ANPR system. The hard 80% is reading it correctly when the photo has glare, motion blur, an angled camera, or plain low resolution — which is what most real-world plate photos actually look like, as opposed to the clean, front-on test images most ANPR tutorials use.
AutoScan AI is a full-stack ANPR platform built around that reality: a dual-stage pipeline (detect, then read) with heavy preprocessing and correction built in specifically because the input is never guaranteed to be clean.
The primary detector is a YOLOv8 model trained for plate localization. But YOLO models can miss under unusual lighting or unfamiliar plate formats, so there's a second path: an OpenCV adaptive edge-and-contour detector that kicks in as a fallback rather than the system just returning nothing. Two different detection strategies covering each other's blind spots beats trusting a single model completely.
Raw OCR output on a plate crop is rarely clean. EasyOCR handles the character recognition itself, but the plate is preprocessed first — bilateral filtering, grayscale conversion, adaptive Otsu thresholding, and contrast normalization — specifically to survive harsh glare and shadow, the two conditions that break OCR accuracy the most.
Even after that, OCR still confuses visually similar characters: O and 0, I and 1, Z and 2, B and 8. Rather than accepting those errors, a heuristic correction layer applies regex rules tuned to how license plates are actually formatted (which character positions are letters vs. digits by convention) to resolve those specific ambiguities automatically.
On top of the detect-and-read pipeline, AutoScan uses Google Gemini's multimodal reasoning for a second layer of vehicle intelligence — reasoning about the vehicle in the frame beyond just the plate text, which a pure computer-vision pipeline can't do on its own.
The dashboard supports both drag-and-drop upload (JPEG, PNG, WEBP) and live webcam capture with a real-time viewfinder alignment guide, so it works equally well as a batch-processing tool and as a live capture station.
Results and images are stored via Cloudinary and a serverless Neon Postgres database, surfaced through a reactive Next.js dashboard — so plate reads aren't just a console output, they're queryable, persisted records.
FAQ
Detection models can miss under lighting or plate formats they weren't trained on. The OpenCV contour-based fallback exists specifically to catch those misses rather than returning nothing.