openalpr-android
OpenALPR is an open source Automatic License Plate Recognition library written in C++ with bindings in C#, Java, Node.js, and Python. This project ports this library to Android. You can find the demo application apk
at the releases tab.
Gradle Dependency
Repository
First, add the following to your app's build.gradle
file:
repositories {
maven { url "https://jitpack.io" }
}
Them include the openalpr-android dependency:
dependencies {
// ... other dependencies here.
compile 'com.github.SandroMachado:openalpr-android:1.1.2'
}
Usage
Code
Copy the OpenALPR configuration file to your android project assets directory /main/assets/runtime_data/openalpr.conf
, open it and update the runtime_dir
to your project directory (for instance, for the sample project the directory is: runtime_dir = /data/data/com.sandro.openalprsample/runtime_data
). After that just follow the code example bellow. To see a full example check the sample application.
static final String ANDROID_DATA_DIR = "/data/data/com.sandro.openalprsample";
final String openAlprConfFile = ANDROID_DATA_DIR + File.separatorChar + "runtime_data" + File.separatorChar + "openalpr.conf";
String result = OpenALPR.Factory.create(MainActivity.this, ANDROID_DATA_DIR).recognizeWithCountryRegionNConfig("us", "", image.getAbsolutePath(), openAlprConfFile, 10);
Interface
/*
Method interface.
*/
/**
* Recognizes the licence plate.
*
* @param country - Country code to identify (either us for USA or eu for Europe). Default=us.
* @param region - Attempt to match the plate number against a region template (e.g., md for Maryland, ca for California).
* @param imgFilePath - Image containing the license plate.
* @param configFilePath - Config file path (default /etc/openalpr/openalpr.conf)
* @param topN - Max number of possible plate numbers to return(default 10)
*
* @return - JSON string of results
*/
public String recognizeWithCountryRegionNConfig(String country, String region, String configFilePath, String imgFilePath, int topN);
Sample Application
The repository also includes a sample application that can be tested with Android Studio.
Credits
- OpenALPR Parent Project
- OpenAlprDroidApp for the compiled sources and sample that helped port the project to an android library