OpenALPR − Automatic License Plate Recognition Library
Plate detection: alpr [OPTION...] [IMAGE_PATH]
OpenALPR is an open source Automatic License Plate Recognition library written in C++. 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
OpenALPR supports license plates from the USA as well as number plates from Europe. The library can also be used to identify plates from other countries. By training the library, the accuracy for these other countries can be increased.
alpr [−c <country_code>] [−−config <config_file>] [−n <topN>] [−−seek
<integer_ms>] [−p <pattern code>] [−−clock] [−d] [−j] [−−]
[−−version] [−h] <image_file_path>
Where:
−c <country_code>, −−country <country_code>
Country code to identify (either us for USA or eu for Europe).
Default=us
−−config <config_file>
Path to the openalpr.conf file
−n <topN>, −−topn <topN>
Max number of possible plate numbers to return. Default=10
−−seek <integer_ms>
Seek to the specified millisecond in a video file. Default=0
−p <pattern code>, −−pattern <pattern code>
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_file_path>
Image containing license plates
$ alpr −c eu /source/image.jpg
This command will attempt to recognize number plates in the /source/image.jpg image using the European−style recognition data. The config file is not provided on the CLI, so it will use the value in the environment variable ’OPENALPR_CONFIG_FILE’ if provided, or the default location.
$ alpr −−config /tmp/openalpr.conf /source/image.png
This command will attempt to recognize number plates in the /source/image.png image using the default USA−style recognition data. The config file is not provided on the CLI, so it will read the configuration data from /tmp/openalpr.conf
$ alpr -c us *.jpg
This command will attempt to recognize number plates in all jpeg images in the current directory image using the USA−style recognition data.
$ alpr −j /source/video.mp4
This command reads data from an input video (/source/video.mp4) and outputs recognition data as JSON.
$ alpr −j stdin < /source/imagefilelist.txt > /out/recognitionresults.txt
This command processes a list of image files provided in /source/imagefilelist.txt and writes JSON results to /out/recognitionresults.txt.
$ alpr webcam
This command processes video from your webcam. You can also use /dev/video0, /dev/video1, etc. if you have multiple webcams.
License plate recognition software can never achieve 100% accuracy. In cases where the plate is not recognized correctly, there is diagnostic information available. You can modify the openalpr.conf file to turn "debug" information on.
In the [debug] section toggle the various debug options to enabled by changing the ’0’ value to a ’1’. Some of these options will output text to the CLI and others may output images to the GUI.
Please report bugs! See the web site at https://github.com/openalpr/openalpr/issues
OpenALPR is distributed under the GNU Affero General Public License version 3. See the file LICENSE for details.
The OpenALPR site is available at: http://www.openalpr.com/.
We would be delighted to hear about the creative ways that you are using this program. Please contact the mailing−list at openalpr AT googlegroups DOT com.
This program uses the following libraries:
* |
OpenCV − Computer vision (http://www.opencv.org) |
||
* |
Tesseract − Optical Character Recognition (https://code.google.com/p/tesseract−ocr) |
||
* |
T−Rex − Regular Expression processing (http://tiny−rex.sourceforge.net) |
||
* |
TinyThread++ − Multi−threaded analysis (http://tinythreadpp.bitsnbites.eu) |
||
* |
TClap − CLI Argument parsing (http://tclap.sourceforge.net) |
||
* |
SimpleINI − INI file configuration (https://github.com/brofield/simpleini) |
Special thanks go out to: Stefan Bauer, Philippe Vaucher, Kristians Vebers, and all contributors to the project.
OpenALPR is written and maintained by Matthew Hill (matthill AT openalpr DOT com) and contributors from the open source community.
Mailing lists for support and development are available at https://groups.google.com/forum/#!forum/openalpr