openalpr ======== OpenALPR is an open source *Automatic License Plate Recognition* library written in C++ with bindings in C#, Java, and Python. The library analyzes images and identifies license plates. The output is the text representation of any license plate characters found in the image. Check out a live online demo here: http://www.openalpr.com/demo.html User Guide ----------- OpenALPR includes a command line utility. Simply typing "alpr [image file path]" is enough to get started recognizing license plate images. For example, the following output is created by analyzing this image: ![Plate Image](http://www.openalpr.com/images/demoscreenshots/plate3.png "Input image") ``` user@linux:~/openalpr$ alpr ./samplecar.png plate0: top 10 results -- Processing Time = 58.1879ms. - PE3R2X confidence: 88.9371 - PE32X confidence: 78.1385 - PE3R2 confidence: 77.5444 - PE3R2Y confidence: 76.1448 - P63R2X confidence: 72.9016 - FE3R2X confidence: 72.1147 - PE32 confidence: 66.7458 - PE32Y confidence: 65.3462 - P632X confidence: 62.1031 - P63R2 confidence: 61.5089 ``` Detailed command line usage: ``` user@linux:~/openalpr$ alpr --help USAGE: alpr [-c ] [--config ] [-n ] [--seek ] [-p ] [--clock] [-d] [-j] [--] [--version] [-h] Where: -c , --country Country code to identify (either us for USA or eu for Europe). Default=us --config Path to the openalpr.conf file -n , --topn Max number of possible plate numbers to return. Default=10 --seek Seek to the specied millisecond in a video file. Default=0 -p , --pattern Attempt to match the plate number against a plate pattern (e.g., md for Maryland, ca for California) --clock Measure/print the total time to process image and all plates. Default=off -d, --detect_region Attempt to detect the region of the plate image. [Experimental] Default=off -j, --json Output recognition results in JSON format. Default=off --, --ignore_rest Ignores the rest of the labeled arguments following this flag. --version Displays version information and exits. -h, --help Displays usage information and exits. Image containing license plates OpenAlpr Command Line Utility ``` Binaries ---------- Pre-compiled binaries are located here: https://github.com/openalpr/openalpr/releases These are typically built with each new release. Install OpenALPR on Ubuntu 14.04 x64 with the following commands: wget -O - http://deb.openalpr.com/openalpr.gpg.key | sudo apt-key add - echo "deb http://deb.openalpr.com/master/ openalpr main" | sudo tee /etc/apt/sources.list.d/openalpr.list sudo apt-get update sudo apt-get install openalpr openalpr-daemon openalpr-utils libopenalpr-dev Compiling ----------- [![Build Status](https://travis-ci.org/openalpr/openalpr.svg?branch=master)](https://travis-ci.org/openalpr/openalpr) OpenALPR compiles and runs on Linux, Mac OSX and Windows. OpenALPR requires the following additional libraries: - Tesseract OCR v3.0.3 (https://code.google.com/p/tesseract-ocr/) - OpenCV v2.4.8+ (http://opencv.org/) After cloning this GitHub repository, you should download and extract Tesseract and OpenCV source code into their own directories. Compile both libraries. Please follow these detailed compilation guides for your respective operating system: * [Windows] (https://github.com/openalpr/openalpr/wiki/Compilation-instructions-(Windows)) * [Ubuntu Linux] (https://github.com/openalpr/openalpr/wiki/Compilation-instructions-(Ubuntu-Linux)) * [Android] (https://github.com/sujaybhowmick/OpenAlprDroidApp) * [iOS] (https://github.com/twelve17/openalpr-ios) If all went well, there should be an executable named *alpr* along with *libopenalpr-static.a* and *libopenalpr.so* that can be linked into your project. Docker ------ ``` shell # Build docker image docker build -t openalpr https://github.com/openalpr/openalpr.git # Download test image wget http://plates.openalpr.com/h786poj.jpg # Run alpr on image docker run -it --rm -v $(pwd):/data:ro openalpr -c eu h786poj.jpg ``` Questions --------- Please post questions or comments to the Google group list: https://groups.google.com/forum/#!forum/openalpr Contributions ------------- Improvements to the OpenALPR library are always welcome. Please review the [OpenALPR design description](https://github.com/openalpr/openalpr/wiki/OpenALPR-Design) and get started. Code contributions are not the only way to help out. Do you have a large library of license plate images? If so, please upload your data to the anonymous FTP located at upload.openalpr.com. Do you have time to "tag" plate images in an input image or help in other ways? Please let everyone know by posting a note in the forum. Donations --------- OpenALPR provides bounties for open issues. Other developers can fix/enhance the library and claim those bounties. The best way to donate to the project is to add a bounty to one or more of the open issues on BountyShare [![Bountysource](https://www.bountysource.com/badge/team?team_id=830&style=bounties_received)](https://www.bountysource.com/teams/openalpr/issues?utm_source=OpenALPR&utm_medium=shield&utm_campaign=bounties_received) License ------- Affero GPLv3 http://www.gnu.org/licenses/agpl-3.0.html