JavaANPR is an automatic number plate recognition software, which implements algorithmic and mathematical principles from field of artificial intelligence, machine vision and neural networks. It was created by Ondrej Martinsky in 2006 and 2007 as part of the research plan "Security-oriented research in information technology, MSM 0021630528" at Brno University of Technology.

cars, computer-vision, java, license-plate, swing



Build Status Coverage Status Ohloh widget

Original author: Copyright © 2006-2007 Ondrej Martinsky. All rights reserved.

Licensing details for JavaANPR are in the file LICENCE.

This work is a derivative of JavaANPR created by Ondrej Martinsky, for his original work visit:




  • Recommended: mvn clean install -DskipTests

  • To run unit tests: mvn clean test

  • To run functional tests too: mvn clean verify -Pit

  • To clean, run: mvn clean

  • To run the example GUI: mvn exec:java

Getting help

  • Post questions or comments on our Google Groups mailing list

  • Join our IRC channel: Join #javaanpr on


JavaANPR uses semantic versioning.


The state of documentation of JavaANPR is unsatisfactory. The bachelor thesis of the original author can serve very well for current needs: Algorithmic and Mathematical Principles of Automatic Number Plate Recognition Systems


Everyone is encouraged to help improve this project.

Here are some ways you can contribute:

  • by using alpha, beta, and pre-release versions

  • by reporting bugs

  • by suggesting new features

  • by translating to a new language

  • by writing or editing documentation

  • by writing specifications

  • by writing code (no patch is too small: fix typos, add comments, clean up inconsistent whitespace)

  • by refactoring code

  • by closing issues

  • by reviewing patches

Submitting an Issue

We use the GitHub issue tracker to track bugs and features. Before submitting a bug report or feature request, check to make sure it hasn’t already been submitted. When submitting a bug report, please include a Gist that includes a stack trace and any details that may be necessary to reproduce the bug, including your Java version and operating system.

Submitting a Pull Request

  1. Fork the repository.

  2. Create a topic branch.

  3. Implement your feature or bug fix.

  4. Run mvn clean install. If the tests fail, return to step 3.

  5. If applicable, add tests for your feature or bug fix.

  6. Add, commit, and push your changes.

  7. Submit a pull request.