When your parking app needs to read 苏EUK722
An OpenCV-based C++ toolkit that recognizes Chinese license plates in unconstrained, real-world conditions.

What it does
EasyPR is a C++ license-plate recognition system built on OpenCV. It locates plates in an image, judges whether they are real plates, segments the characters, and identifies them—including Chinese provincial abbreviations—outputting a standard std::string like "蓝牌:苏EUK722". The project claims over 80% accuracy for both detection and recognition when the input image is clear, and it ships with pre-trained models, training utilities, and synthetic data generation.
The interesting bit
The pipeline is deliberately modular: detection, judgment, segmentation, and recognition are separate stages you can inspect or retrain. It supports multiple location strategies—Sobel edges, color filtering, or CMSER text detection—and even tags the plate color alongside the characters. A “life mode” widens the search range when real-world conditions get sloppy.
Key highlights
- Outputs full Chinese plate strings as standard
std::string, provincial abbreviations and plate color included - Cross-platform core with community ports for Linux, macOS, Android, iOS, Java, and C#
- Ships with training code, model files, and a synthetic data generator
- Modular stages: SVM for plate judgment, ANN for character identification, each replaceable
- Adjustable detection modes and a
setLifemodetoggle for tougher real-world shots
Caveats
- Still runs on classical ANN/SVM, not CNNs; the maintainers explicitly list “replace ANN with CNN” as a pending task
- OpenCV version compatibility is finicky: Linux needs 3.2+ to avoid empty results, and 3.2+ requires manually flipping a version flag in
config.h - New energy vehicle plates and two-line plates are not yet supported
Verdict
Worth a look if you need an open-source, OpenCV-based Chinese ALPR with full source and training data included. Look elsewhere if you want modern deep-learning accuracy or plug-and-play support for the latest Chinese plate formats.
Frequently asked
- What is liuruoze/EasyPR?
- An OpenCV-based C++ toolkit that recognizes Chinese license plates in unconstrained, real-world conditions.
- Is EasyPR open source?
- Yes — liuruoze/EasyPR is open source, released under the Apache-2.0 license.
- What language is EasyPR written in?
- liuruoze/EasyPR is primarily written in C++.
- How popular is EasyPR?
- liuruoze/EasyPR has 6.4k stars on GitHub.
- Where can I find EasyPR?
- liuruoze/EasyPR is on GitHub at https://github.com/liuruoze/EasyPR.