OpenALPR

General

Category
Free
Tag
OCR Engines
License
N/A
Min SDK
16 (Android 4.1 Jelly Bean)
Registered
Dec 16, 2015
Favorites
7
Link
https://github.com/SandroMachado/openalpr-android
See also
Onyx
android-ocr
OCR Demo
Tesseract
Clarifai Java Client

Additional

Language
Java
Version
1.1.2 (Mar 10, 2017)
Created
Dec 13, 2015
Updated
Jun 23, 2020 (Retired)
Owner
Sandro Machado (SandroMachado)
Contributors
Sandro Machado (SandroMachado)
JerzyPuchalski
Zachary Kjellberg (ZKjellberg)
Nicola Ridolfi (picce)
Kostas G. (gas83)
w4tchw0lf
6
Activity
Badge
Generate
Download
Source code

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