← Back to Articles

Why do we need license plate recognition system?
How does license plate recognition work in Xeoma?
Ways to increase the successful recognition rate
Integration with external systems
Using of 3rd party utilities
Using of additional module (advanced ANPR)
Frequently Asked Questions
“ANPR” module’s video

License plate recognition in video surveillance program Xeoma

The License plate recognition (also called ANPR) is available in Xeoma’s PRO version. The system includes algorithms of actions that allow us to recognize a license plate of an approaching vehicle by analyzing the video from the cameras.

Our own module supports a large number of countries, allows you to create lists of license plates, generate events, on a basis of which you can allow opening the barrier, turn on the light, etc.

Our own algorithms will provide good recognition quality in day and night hours in a wide range of weather conditions, as well as let you set the necessary system’s reactions for the recognition. The recognition quality is over 98% (if you follow the recommendations). You may also use the recognition by individual frames without using the video stream. The database saves the data about the date and time of the car detection. Simultaneous support for several checklists of license plates. There is the opportunity to save and view the video stream from multiple cameras synchronously.

Operational schemes: сapture, identification and saving license plates in the database with or without verification.
Comparing the captured license plates with the existing database in online mode in order to identify coincidences.
Search for license plates in the archive according to the given license plate.
License plate verification – the process of comparing the captured license plate on the video record to the given license plate.

Why do we need license plate recognition system?

With the license plate recognition system you can easily automate the entry to the any enterprise territory. You no longer need to issue passes for customers and monitor if anyone has lost it. Your car license plate is your pass.

This system will allow you to control the number of vehicles on the territory. Driving in and out cars control will strengthen the security. Database will consist of “white” and “black” lists, it will help you to identify the intruder. Such system, implemented on the company territory, will provide control over the personnel and vehicles movement on its territory. Nobody will be able to enter the service area, as well as leave it without your permission. License plate recognition system can be implemented at gas stations, service stations, as well as to monitor transport conditions.

How does license plate recognition work in Xeoma videosurveillance?
You simply add the License plate recognition module (named “ANPR”) to the chain, as it is shown on the picture:

License plate recognition module in the chain

In the module settings specify the detection area. You can also specify the undetectable zones, for example, curbs or sidewalks. If you do not specify the search area, then Xeoma will analyze the full frame.

Specify the detection area in the ANPR module

Sensitivity threshold: this parameter works similarly to “Motion detector”. If the “Detect only changing areas” checkbox is checked, then this parameter will work as the sensitivity threshold of the “Motion Detector”. 0 sensitivity threshold means that the system will be very sensitive to the movement of any objects at any speed. 100 is the highest sensitivity threshold at which only the largest objects with undeniable movement will be detected and trigger the specified action.

You can focus on the upper right corner inscription “Triggered” (in this case, the module is triggered and the recording is ongoing) and “Not triggered” (in this case, the module does not detect anything at a given time) while configuring the “ANPR” module in Xeoma.

*In Xeoma version 20.10.13 and higher the green Skipping/yellow Not Skipping inscription is replaced with green Triggered/yellow Not triggered.

In the License plate recognition module (= “ANPR”) you can specify the needed settings, for example, 
Detection type:
– detects white list cars (the archive will be written only with license plates from the white list);
– detects cars not in white list(the archive will be written only with license plates not from the white list (the ones in the white list – will be ignored));
– detects any cars (the archive will be written with any license plates);
– detects absence of cars (the archive will be written only with segments in which there is no license plates);
– detects always (the archive will be written continuously);
– detects upon receiving signal from external third-party utility/URL (when you receive an http-request (field “Path/URL to the external module”) segment will be written to the archive.

Choose the needed detection type in "License plate recognition" module

You can choose the angle at which to display information about and picture of the car license plate, as well as the display time (2 sec., 10 sec., 1 min. and etc.).

Choose where to show the information about and picture of the car license plate
When detecting, the program records video frame with the detected vehicle and its license plate:

How information is shown when ANPR module is in use

You can also write data to the cvs-reports (get them on the server in the settings folder (reports folder): 

For Windows it’s:
C:\Users\Public\Documents\Xeoma\ (either if Xeoma is installed or not installed)

For Linux:
/home/USERNAME/.config/Xeoma/ (not installed)
/usr/local/Xeoma/ (installed)

For Mac OS X:
Users/USERNAME/Xeoma/ (not installed)
Users/Shared/Xeoma/ (installed)

This is how the cvs-reports will look like:

CVS reports from ANPR module in Xeoma videosurveillance

Ways to increase the successful recognition rate:

  • Point the camera in the direction of vehicles, facing license plates at right angle;
  • A license plate should be entirely visible in the camera’s field of view;
  • License plate’s tilt angle should be less than 10°;
  • The image should be clear and not blurry;
  • The size of characters for reliable recognition should be at least 14 pixels in height;
  • Fasten the camera to minimize wind interferences, vibrations, etc.;
  • Use proper lighting in the low-light circumstances (for example, an IR projector);
  • Use long-focus objective;
  • Set exposure to a minimum;
  • Turn auto focus off.

Automated number plate recognition: how to position a camera, how to increase recognition accuracy

Put a tick in the “Vehicle pre-detection” checkbox. By activating this function, you will increase the accuracy of the license plate recognition. If the function is enabled, the program will recognize cars first and only then the license plates. Thus, the number of false positives will decrease.

Integration with external systems:

Xeoma modules can be easily synchronized with external systems and devices. For example, you have your own database and you want the number plates detected by Xeoma to be checked if they are/aren’t from your database. After the plates are checked, destination modules will/will not start working (depending on your settings).

If you want to synchronize ANPR in Xeoma with an external system, you need to configure data transfer to HTTP Server. It can be done in 2 simple steps:

1. Open the ANPR module’s settings and choose “Detect upon receiving signal from external third-party utility/URL” as a detection type.

Detection type settings in ANPR module.

2. Then enter the external script’s URL (it can be e.g. CGI-script) into the “Path/URL to an external module” field in ANPR module’s settings.

Specify the external script's URL to complete the integration.

By using {NUMBER} macros information about the recognized license plate will be passed to the external module as a parameter. You can also specify static parameters (not macros) there.

After the data transfer is configured, each time the module is triggered information about the detected license plate number will be passed to HTTP Server via URL parameter.
E.g. if the license plate number detected by Xeoma is found in the external database, integration is set to start recording into Archive for the time specified in the settings of Postrecord (see Image 1).
I.e., the scheme is: Xeoma detects a license plate number → a command is being sent to HTTP Server → Server replies with e.g. 0 or 1 (0 – there’s no record to Archive, 1 – recording for 3 seconds (see Postrecord settings) is enabled).

If everything is done correctly, ANPR will be synchronized with external systems and devices.

Xeoma Pro also has a “ANPR Sending to FTP” module that forms an archive with violation images and a xml file with time and date, and thus can be used for fine-imposing systems.

Using a text file as whitelist:

Starting from Xeoma 22.10.12 the ANPR module of Xeoma features the option to use a list of license plates in a text file as a whitelist. When this option is on, Xeoma will be constantly synchronizing with the specified text file.

Here are 3 steps to working with the feature:

1. Open settings of the ANPR module and tick the “Synchronize the file with the whitelist” option:

Setting up whitelist with a text file

2. Open the “anpr” subfolder (Xeoma folder – Additional – anpr) and put a file with the “WhitelistLicensePlates.txt” name there.

3. Open the “WhitelistLicensePlates.txt” file and enter all whitelist numbers there like NUMBER or NUMBER COMMENT:
XX11XXX234 Linda
XX55XXX678 Mike

Save the file after all numbers are in the file.

Xeoma will be synchronizing the data from the whitelist in its interface with the data in this file, and use both to check the numbers it sees in camera sight.

Using of 3rd party LPR utilities

You can use not only Xeoma’s ANPR module with its own recognition algorithms, but also third-party utilities for license plate recognition (e.g. to increase recognition accuracy or use license plate recognition for particular countries not included in the basic package).

You can use, for example, Platerecognizer utility or OpenALPR free (or paid) utility (GPL license).

If you’d like to use another utility please contact us, we’ll gladly check if it’s possible to integrate it in Xeoma.

Using of additional module (advanced ANPR)

Xeoma’s additional license allows to use the enhanced LPR algorithms for particular countries:
Former CIS – Armenia, Belarus, Georgia, Kyrgyzstan, Kazakhstan, Russia, Uzbekistan,

*recognition of the Chinese or Japanese license plates requires a specific processor.
Intel 64-bit processors of the following series:
-IntelCore processors starting from the 4th generation (including 10+ generations);
-XEON processors starting from the 6th generation;
-Atom processors of the “C23”, “C25”, “C27”, “C33”, “C35”, “C37”, “C38”, “C39”, “P59”, “Z34”, “Z35”, “x5-E39”, or “x5-E8000” series;
-Processors Intel Xeon E5-24 series, i5-2450M or i7-2600.

The module requires additional components to be downloaded (it is processed automatically).

Additional license can be purchased and activated in addition to the perpetual Xeoma Standard or Xeoma Pro licenses for the cameras amount that the module is going to be used with regardless of the number of countries.

Additional module “Enhanced ANPR” is available to test in the Trial version for 1 hour, after that the module’s settings will be reset.

If you need more time for testing please contact us and get a demo license for the necessary amount of cameras.

Anti-counterfeiting measures: license plate recognition only on cars

If a part of the LPR task is to recognize license plate numbers only in vehicles, and eliminate fraud when someone is holding the license plate, Xeoma has a way to do that.
Put the “Motion detector” module to the chain, and tick the ‘car recognition’ setting at the very bottom of the “Motion Detector” settings. This way the picture will not get to the modules in the chain (for example, to the License Plate Recognition (= “ANPR”) module) if the motion detector does not detect the vehicle in the frame. If the accuracy of Xeoma’s motion detector is insufficient, you can use the more powerful “Object Recognition” module based on artificial intelligence instead.

Traffic rules violation: software speed detector

Starting with Xeoma Beta 19.11.26, the software has pair modules “ANPR Speed Sender” and “ANPR Speed Receiver”.

These two types of modules in combination will help estimate speed with which a vehicle has crossed two control points. In the receiver module you can set a specific time that this path should be crossed in, and if a vehicle passes it faster, it is breaking the speed limit. The modules can be integrated into various road fine ticket systems.
Read more about the module

Traffic rules violation: hardware speed detector

The “Vehicle speed detector” Additional module allows you to find and identify vehicles violating the speed limit in the monitored area. This module works in conjunction with the License Plate Recognition (= “ANPR”) module, which detects a vehicle in the frame, looks for a license plate and recognizes its symbols, and the “ISKRA DA/40” hardware speed meter appliance, which refers data about speed limit violations to Xeoma. This combination can be used in conjunction with a system for automatic imposing fines in projects such as “Safe City”. Read more about the module

Traffic rules violation: ignoring the red light

There are several options in Xeoma that can be used to work with traffic light equipment:

“Color recognition” is a module in Xeoma based on Artificial Intelligence and deep machine learning. This module is designed to recognize color by means of computer vision.
Such recognition is especially highly-demanded for traffic offense detection in terms of “Safe city” project, in co-working with thermal imaging cameras (for example, for fever detection), or any other appliance where a particular color should be detected. Read more about the module

The “Modbus Controllers” Additional module of the Xeoma video surveillance software is designed to receive commands from controllers operating under the Modbus protocol to trigger the necessary reactions in Xeoma. This is a very popular type of controller used in automation, “smart home” systems, as well as in various equipment (traffic lights, etc.). You can set different reactions for different signals of such a controller, for example, to recognize a vehicle license plate and impose a fine if it is driving through a red light. Read more about the module

Traffic rules violation: lane crossing

A combination of “ANPR” and “Cross-Line Detector” modules (also included in the Xeoma Pro edition) can be used for detection of vehicles that cross the stop line or drive in the wrong lane. Read more about the module

Frequently Asked Questions

  • 1. I need to recognize license plates of two countries: Armenia and Kazakhstan. Do I have to buy a license twice?
  • If you want to recognize license plates of these countries, there are several options in Xeoma for doing it:
    1) you can use our own paid utility which includes these and other countries’ license plates. It can be purchased additionally to your Xeoma Standard or Xeoma Pro license.
    2) use a third-party paid utility PlateRecognizer which also provides license plates recognition for Armenia and Kazakhstan; but pay attention that this and other third-party utilities can be used only with Xeoma Pro license.
    So you don’t need to buy a license twice but you will need to buy our or third party utility in addition to your license to recognize license numbers of these countries.

    You can find the full list of utilities and the countries they support here.

  • 2. At what height should the camera hang in order to recognize license plates? Is a 2 megapixel camera sufficient for recognition?
  • When selecting the height of the camera placement, we recommend to pay attention to whether the license plate is clearly visible in the camera or not. It should be clear and no objects (trees, poles, etc.) should cover it. The optimal height of the camera is 1-2 meters.
    2 megapixels – this is Full HD video (1080p), in this resolution you can distinguish a lot of details, so it is quite enough for the effective work of the module.
    We also recommend providing sufficient lighting of the space where license plates will be recognized in the evening and at night.

  • 3. License plate recognition does not work or is not accurate enough. What can I do to improve that?
  • Here are some advice that might help:

    1) Make sure that the camera chain follows the general workflow logic: video stream is going from the ‘Universal Camera’ module to the ‘ANPR’ module and is finished in a destination module or modules, e.g. ‘Preview’ or ‘Preview and Archive’.
    Make sure that all modules are in the working state, and video stream is not filtered out by some modules in the chain. See more on how chains work in the Xeoma User Manual
    Make sure that an adequate monitoring zone that ‘sees’ licenses plates is painted in the ‘ANPR’ module settings.

    2) You are advised to always test Xeoma’s ANPR in real conditions or at least with a video from real conditions. Here’s how to use a video clip as a camera
    If you have no other choice than to test with only a license plate (without a vehicle) or a picture of one, we recommend to untick the ‘React only to changing areas’ option in the ‘ANPR’ module settings, it can help a bit.

    3) Make sure that the camera is positioned correctly: for best results the license plate should be facing straight at the camera which should have sharp still shots with decent quality for computer vision to be able to identify digits.
    For most recognition methods, a license plate should be visible for a couple of seconds before it disappears so the distance between the camera and the vehicle when it first appears in the frame should be calculated accordingly.
    If needed, add proper lighting for the camera to see clearer at night, or select night vision modules.
    See more advice here

    4) Try another recognition type. For example, there are several free and paid methods to recognize license plates of vehicles from UK and EU – free older version of openALPR, paid contemporary version of openALPR, and Platerecognizer. Visit this page to learn more about recognition methods and supported countries.
    These recognition methods utilize different algorithms so if one method is not so good with your country’s licenses plates, you can try another, and there are chances that it will work better.
    Attention: we do not recommend to use several methods at the same time. See more on that in question 4. Can I combine several recognition tools/methods at the same time?

  • 4. Can I combine several recognition tools/methods at the same time?
  • You can use several recognition tools only in separate ‘ANPR’ modules. We do not recommend to use several recognition methods/tools within one ‘ANPR’ module as they will interfere with each other. Example: You’d like to have EU license plates recognized with the free openALPR tool and add recognition of occasional CIS region licenses plates with Platerecognizer – in this case you’d need separate ‘ANPR’ modules for each of the tools. Otherwise both of the tools will be trying to recognize all license plates, interfering with results and thus reducing the accuracy rate.

    “ANPR” module in Xeoma

    September, 15 2015; Updated: April, 22 2021

    Read also:
    How to work with the OpenALPR tool
    Xeoma Pro – your professional video surveillance service!
    Video surveillance system in the parking space
    Video surveillance system at a petrol filling station
    Car safety with video surveillance program Xeoma