pcb9382/PlateRecognition
高性能 高精度 大陆车牌、港澳车牌、台湾车牌、韩国车牌、美国、欧盟车牌识别 代码开源,方便移植嵌入式、安卓、鸿蒙、IOS端使用,支持大角度车牌识别,准确率高达99%+ High-Performance, High-Accuracy License Plate Recognition Supports license plate recognition for Mainland China, Hong Kong, Macao, Taiwan, South Korea, the United States, and the European Union.
What it does
PlateRecognition is a Chinese‑language open‑source system for detecting and reading vehicle licence plates. It combines a deep‑learning detector (YOLO‑v5, v7, v8) with a recognition model that outputs the plate characters, colour, vehicle type, distance, lane lines and even parking‑spot information.
Why it matters
Automatic licence‑plate recognition (ALPR) is a core component of traffic‑monitoring, toll‑collection, parking‑management and law‑enforcement systems. This repository provides a ready‑to‑run, high‑accuracy solution (≈99 % on a 72 k‑image test set) that runs on a wide range of hardware – from desktop GPUs to embedded AI chips – and can be called from C/C++, Python, Java, C# or mobile languages.
Key features (as listed in the README)
| Feature | Details |
|---|---|
| Detection + Recognition | YOLO‑v5/v7/v8 plate detection, geometric correction, OCR for plate characters |
| Additional outputs | Plate colour, vehicle colour/type, vehicle distance, lane‑line detection, parking‑spot detection |
| Supported regions | Over 60 countries/regions across Asia, Europe, North‑America, South‑America and Oceania |
| Languages / APIs | Native C/C++, Python bindings, Java, C#, Kotlin/Swift for Android/iOS |
| Deployment targets | Linux (Ubuntu, CentOS, UOS, Kylin), Windows, Android, iOS, HarmonyOS, and edge AI chips (Rockchip, RK, RV, HiSilicon, BM1684, etc.) |
| Performance | Example: on a Snapdragon 865 phone ~40 ms per 1920×1080 frame (GPU) with >99 % accuracy; on RK3588 edge board ~25 ms per frame |
| Model sizes | Small (s), medium (m), large (l) variants; inference times around 450 µs on an RTX‑3090 for the small model |
| Build system | CMake‑based; requires CUDA, cuDNN and TensorRT (tested on Ubuntu 18.04/20.04 and Windows 10) |
| Demo / test | Online demo at http://vision.zhoujiayao.com/; test code in PlateDetectionRecognition/test/main.cpp |
How to get started (from the README)
- Install dependencies – Ubuntu 18.04/20.04 or Windows 10 with CUDA 10.2/11.1, cuDNN 8.2.1 and TensorRT 8.2.5.1. OpenCV must be present.
- Configure TensorRT paths in the top‑level
CMakeLists.txt. - Build with CMake:
(or pressmkdir build && cd build cmake .. make -j$(nproc)Ctrl+Shift+Bin VS Code). - Run the demo – edit the compile‑time flags in
PlateDetectionRecognition/test/main.cppto select the desired YOLO version (e.g.,yolov5_plate = 1). - Integrate – call the provided C API (
Initialize,PlateRecognition_yolov5/7/8,Release) from your own application, or use the Python wrapper.
Who might use it
- Smart‑city / traffic‑management projects needing real‑time ALPR on cameras or edge devices.
- Parking‑lot operators wanting automated entry/exit logging.
- Automotive OEMs or aftermarket vendors building dash‑cam or driver‑assist features.
- Researchers exploring multi‑region plate formats or optimizing YOLO models for embedded AI chips.
Note: The repository also offers paid access to additional private datasets (≈30 CNY) via WeChat, and a commercial demo upon request.
Related
- Project
- Project
- Project
- Project
- Project