mirror of
https://github.com/kerberos-io/openalpr-base.git
synced 2025-10-05 13:26:53 +08:00

tl;dr license-plates are typically composed of three parts. the city/ region where the plate was issued (one to tree letters) followed by a random string (one to three letters too) and finally a random number (one to four digits). the larger the city or region the shorter the identifier they use. obviously having more cars to be registered, the random letters and numbers are often longer/larger in those areas. depending on the type of the car, implemented suffixes are: H: Historic Cars / Oldtimers E: Electronic Cards wikipedia has a very long and detailed article which tries to explain where all this comes from and why this is (still) needed: https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Germany
Each line is a possible lp pattern organized by region/state and then likelihood. The parser goes through each line and tries to match @ = any letter # = any number ? = a skip position (can be anything, but remove it if encountered) [A-FGZ] is just a single char position with specific letter requirements. In this example, the regex defines characters ABCDEFGZ