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)

  1. 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.
  2. Configure TensorRT paths in the top‑level CMakeLists.txt.
  3. Build with CMake:
    mkdir build && cd build
    cmake ..
    make -j$(nproc)
    
    (or press Ctrl+Shift+B in VS Code).
  4. Run the demo – edit the compile‑time flags in PlateDetectionRecognition/test/main.cpp to select the desired YOLO version (e.g., yolov5_plate = 1).
  5. 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