License Plate Recognition
Detect and read European license plates, identify vehicle types and stabilize recognition results across camera frames with the optional LicensePlateTemporalTracker. Available for .NET LTS and .NET MAUI.
View Full DocumentationOverview
The license plate recognition processor recognizes license plates from various European countries and identifies the corresponding vehicle type. The processor is not limited to a single vehicle or license plate—depending on image quality and resolution, several vehicles and plates are recognized simultaneously.
Configure country-specific recognition with plate-format validation, or choose a recognition mode without country classification. Use raw per-frame results directly, or add temporal tracking when your application needs a stable plate result across a vehicle's passage.
Latest Improvements
Highlights from the most recent release of the License Plate Recognition processor.
New Processing Engine
Redesigned internal processing pipeline with reduced CPU load and lower memory footprint for more efficient deployments.
Extreme ARM Optimization
Extremely optimized code paths for ARM-based processors enable fast and efficient recognition on embedded and mobile devices.
New Text Recognition Models
Updated text recognition models support plate reading. Choose the text model and quality preset to suit your image source and device.
Temporal Result Stabilization
The optional LicensePlateTemporalTracker combines observations across frames and reports stable plate updates for parking enforcement, barriers and moving vehicles.
Simplified Local Model Loading
Loading models from the local file system without internet access has been greatly simplified—deploy fully offline with minimal configuration.
Key Features & Capabilities
Multi-Plate Recognition
Detect and recognize multiple license plates and vehicles within a single image simultaneously with high accuracy.
ML-Powered Recognition
State-of-the-art machine learning models continuously improved for better accuracy across more countries and vehicle types.
Format Validation
Country-specific modes validate recognized plate text against the detected country's number formats. Raw OCR text remains available for application-specific handling.
Quality Presets
Eight recognition quality presets from Low to Best, optimized for different scenarios—single plate or multiple plates, speed or accuracy.
Recognition Modes
Choose between multiple recognition workflows: plate-first, vehicle-first, or isolated detection modes for optimal performance.
Country-Specific or Generic Recognition
Select plate-first, vehicle-first, plate-only or vehicle-only workflows. Plate recognition is available with or without country classification.
Vehicle Detection
Choose if the vehicle type should be recognized. Multiple vehicle types are supported.
Visual Overlays
Display detection results with customizable overlays for vehicles and license plates, including validation status indicators.
Offline Support
Run recognition locally after providing the required models. Bundle the .ccml files for offline deployment, or let the SDK download and cache them on first use.
Temporal Tracking for Stable Plate Results
Individual frames can produce changing OCR readings. The optional LicensePlateTemporalTracker, included in both LPR packages, combines observations over time into a stable result for one vehicle at a time. Your application receives updates through ResultChanged.
ParkingOfficer
For handheld parking enforcement. Keep the recognized plate locked while handling one vehicle, then explicitly advance to the next vehicle with NextCar().
Barrier
For gates and access control. Prefer recognition quality over the earliest possible output, and use stable plate updates in your application's access decision.
CarDetection
For moving vehicles and traffic observation. Prefer low latency; the tracker can publish an estimated result at its decision deadline if normal confirmation thresholds have not been reached.
Feed the tracker every recognition callback, including frames without detections, so it can follow the vehicle lifecycle. Stable results distinguish confirmed, estimated and removed states. Capture, recognition and overlays remain part of the existing pipeline.
Supported Countries & Vehicle Types
Comprehensive coverage of European license plates and vehicle classifications:
Vehicle Types
- Car
- Motorbike
- Truck
- Tractor
European Countries
Recognition Quality Presets
Choose the optimal quality preset for your use case—balancing speed and accuracy. Our recognition is powered by YOLO-based machine learning models with three independent components: Plate Detection (320/640/1280), Text Recognition (320/416/512/640), and Vehicle Detection (320/640/1280).
You can either use our convenient presets or create custom combinations by selecting individual model qualities for each component. For example, use high-quality plate detection with fast text recognition, or disable vehicle detection entirely if not needed.
Quick Recognition
For quick recognition with a single large license plate shown in the image. Optimized for speed on low-end devices.
Quick Recognition Split
For quick recognition of a single license plate. An optimized split text model is used depending on the aspect ratio of the plate.
Quick Recognition Precise
For quick recognition with a higher recognition rate. A more complex but slower text model is used.
Standard Quality
Good recognition quality for a single license plate with reliable accuracy across varying conditions.
Multi-Plate Quality
Good recognition for multiple license plates in the image with high accuracy.
Multi-Plate Split
Good recognition for multiple plates. An optimized split text model is used depending on the aspect ratio. May be faster or slower than High depending on the device.
Multi-Plate Precise
Good recognition for multiple plates with a higher recognition rate. A more complex but slower text model is used.
Maximum Accuracy
Very good recognition for multiple plates under difficult conditions. Recommended with GPU acceleration for optimal performance.
Models are supplied separately from the NuGet packages. The default configuration downloads and caches them on first use. For offline deployment, obtain the required .ccml files from the SDK 2.2 model downloads and keep their filenames unchanged.
In MAUI, place the files in Resources/Raw with the MauiAsset build action. In .NET LTS, configure your local model directory. Explicit local-model loading requires the selected files to be present and does not fall back to downloading missing files. Model use requires a valid CapCognition LPR license. See the LPR setup and model deployment guide for configuration details.
