How doubangotelecom/ultimatealpr-sdk works
UltimateALPR is an on-device ANPR/ALPR SDK exposed through C++, C#, Java, and Python interfaces. The main workflow is to initialize the engine, pass image or video-frame data to its processing API, and receive structured recognition results, optionally through asynchronous callbacks. The README also documents image enhancement and vehicle analytics, plus CPU/GPU/VPU/FPGA acceleration. The native implementation is not present in the sampled sources, so internal feature wiring is shown only at the documented capability level; sample apps are omitted.
Main entry points: ultimateALPR-SDK-API-PUBLIC.h ALPR engine · NPU.md Compute backends · Sdk/UltAlprSdkEngine.java Java API · Sdk/UltAlprSdkEngine.java Android Java API
Components 24
SDK interfaces
- C++ API
c++/ultimateALPR-SDK-API-PUBLIC.h - Java API
java/org/doubango/ultimateAlpr/Sdk/UltAlprSdkEngine.java - Android Java API
java/android/org/doubango/ultimateAlpr/Sdk/UltAlprSdkEngine.java - Python API
python/ultimateAlprSdk.py - C# API
csharp/UltAlprSdkEngine.cs - Java JNI bridge
java/org/doubango/ultimateAlpr/Sdk/ultimateAlprSdkJNI.java - Android JNI bridge
java/android/org/doubango/ultimateAlpr/Sdk/ultimateAlprSdkJNI.java - C# interop
csharp/ultimateAlprSdkPINVOKE.cs - Python native wrapper
python/ultimateALPR-SDK-API-PUBLIC-SWIG_python.cxx
Recognition engine
- ALPR engine
c++/ultimateALPR-SDK-API-PUBLIC.h - Image input
c++/ultimateALPR-SDK-API-PUBLIC.h - Structured results
c++/ultimateALPR-SDK-API-PUBLIC.h - Async callback
c++/ultimateALPR-SDK-API-PUBLIC.h
Vision capabilities
- Plate recognition
- Night enhancement
- Plate country ID
- Vehicle analytics
- Direction and speed
Models and acceleration
- Model assets
assets/models - OpenVINO models
assets/models.openvino - TensorRT models
assets/models.tensorrt - Amlogic NPU models
assets/models.amlogic_npu - Compute backends
NPU.md
Other components
- SDK caller
Connections 27
- SDK caller → C++ API: calls API
- SDK caller → Java API: calls API
- SDK caller → Android Java API: calls API
- SDK caller → Python API: calls API
- SDK caller → C# API: calls API
- Java API → Java JNI bridge: invokes native
- Android Java API → Android JNI bridge: invokes native
- C# API → C# interop: invokes native
- Python API → Python native wrapper: invokes native
- C++ API → ALPR engine: calls engine
- Java JNI bridge → ALPR engine: bridges calls
- Android JNI bridge → ALPR engine: bridges calls
- C# interop → ALPR engine: bridges calls
- Python native wrapper → ALPR engine: bridges calls
- ALPR engine → Image input: accepts frames
- Image input → ALPR engine: processes image
- ALPR engine → Plate recognition: performs
- ALPR engine → Night enhancement: supports
- ALPR engine → Plate country ID: supports
- ALPR engine → Vehicle analytics: supports
- ALPR engine → Direction and speed: supports
- ALPR engine → Structured results: returns result
- ALPR engine → Async callback: dispatches result
- ALPR engine → Model assets: loads models
- OpenVINO models → Compute backends: targets
- TensorRT models → Compute backends: targets
- Amlogic NPU models → Compute backends: targets