Automatic License Plate Recognition (ANPR, Automatic Number Plate Recognition) has ceased to be an exotic technology - today it is actively used in parking lots, logistics companies and even by private car owners. Traccar system stands out among its peers due to its open source, flexible configuration and integration with GPS trackers. But how does it work in practice? Is it possible to install it yourself, and what legal restrictions apply in Russia in 2026?

Many people mistakenly think that ANPR systems are the prerogative of large enterprises with budgets in the millions. In fact Traccar allows you to deploy a basic license plate recognition system even on a Raspberry Pi, and cloud solutions reduce costs to a monthly subscription fee. In this article we will analyze the technical nuances, compare equipment and show how to avoid common mistakes when setting up.

It’s worth clarifying right away: Traccar is not only ANPR. This is a full-fledged platform for transport monitoring, where license plate recognition is only one of the modules. However, it is the ANPR functionality that often becomes the key when choosing a system for controlling access to a territory or automating vehicle fleet accounting.

How ANPR works in Traccar: algorithms and technical details

At the heart of any ANPR system is a combination of computer vision and machine learning. Traccar uses open libraries like OpenALPR or Tesseract OCR, adapted to the specifics of license plates of different countries. The recognition process can be divided into 4 key stages:

1. Image Capture β€” the camera records the vehicle in the coverage area. It is important that the resolution allows you to clearly distinguish the characters on the number (minimum 1920Γ—1080 when shooting from 5–7 meters).

2. License plate detection β€” the algorithm selects a rectangular area with a number against the background of the body. Proper contrast and lighting settings are critical here.

3. Character segmentation β€” the program breaks the number into separate characters, removing frames, bolts and other artifacts.

4. Text recognition β€” OCR engine (for example, Tesseract) converts character images to text format.

Traccar supports plugins for different countries, including Russia, Belarus and Kazakhstan. However the accuracy of recognizing new Russian license plates (from 2023) may drop to 70–80% when shooting at night without IR illumination. This involves changing the font and adding region codes on two lines.

The processing speed of one frame depends on the hardware platform:

  • πŸ–₯️ On Raspberry Pi 4 (4GB RAM) - 1-2 seconds at resolution Full HD.
  • πŸ’» On a server with a GPU (for example, NVIDIA Jetson) - up to 10 frames per second.
  • ☁️ Cloud solutions (Traccar Cloud) - delay 0.3–0.8 seconds, but requires stable Internet.
⚠️ Attention: If you use Traccar to control access to a parking lot, keep in mind that when the vehicle speed is above 30 km/h, the recognition accuracy drops by 15–20%. For high-speed areas (for example, at the entrance to a logistics complex) specialized cameras with shutter will be required 1/10000s.

Equipment for ANPR: what to choose for Traccar

Traccar is compatible with most IP cameras, but for stable operation of ANPR you need to take into account several criteria. Firstly, resolution: minimum acceptable - 1280Γ—720, but for reliable recognition it is better 1920Γ—1080 or 2560Γ—1440. Secondly, matrix type: CMOS sensors are cheaper but perform worse in low light conditions compared to CCD.

Optimal camera models for Traccar ANPR:

Model Resolution Backlight type Price (2026) Features
Hikvision DS-2CD2T47G1-L 2560Γ—1440 IR + white light ~25 000 β‚½ Built-in ANPR algorithm, ONVIF support
Dahua IPC-HFW5442E-ZE 1920Γ—1080 IR ~18 000 β‚½ Good price/quality ratio, but poor performance in the rain
Axis P1448-LE 1920Γ—1080 White light ~45 000 β‚½ High accuracy in the dark, but expensive
Raspberry Pi Camera Module 3 12 MP Without backlight ~5 000 β‚½ Requires external IR illumination, suitable for testing

In addition to the cameras, you will need a server to process the data. Options:

  • πŸ–₯️ Local server - any PC with Ubuntu 22.04 and 8 GB of RAM. Traccar also works on Windows, but the stability is lower.
  • ☁️ cloud β€” Traccar Cloud (from $15/month) or your own solution on AWS/Yandex Cloud.
  • πŸ“± Mobile solution β€” Raspberry Pi 4 + camera for small parking lots (up to 20 cars/hour).
πŸ“Š What equipment do you plan to use for ANPR?
Ready-made IP camera (Hikvision, Dahua, etc.)
Homemade solution on Raspberry Pi
Cloud service (Traccar Cloud)
Local server on PC
⚠️ Attention: If you use cameras with IR illumination, make sure that they comply with GOST R 58401-2019 for electromagnetic radiation levels. Uncertified devices may cause interference with radio equipment (such as walkie-talkies in airport parking lots).

Installing and configuring Traccar for license plate recognition

Deploying Traccar with an ANPR module can be completed in 30–60 minutes if you follow a clear algorithm. Below are step-by-step instructions for installation on Ubuntu 22.04:

1. Installing dependencies:

sudo apt update && sudo apt install -y openjdk-11-jre ffmpeg tesseract-ocr libtesseract-dev

2. Download Traccar:

wget https://github.com/traccar/traccar/releases/download/v5.10/traccar-linux-64-5.10.zip

unzip traccar-linux-64-5.10.zip

3. Setting up a configuration file traccar.xml:

- Specify the path to the camera: <entry key='video.device'>/dev/video0</entry>

- Activate ANPR plugin: <entry key='video.plateReader'>true</entry>

- For Russian numbers, add: <entry key='video.plateReader.country'>ru</entry>

4. Starting the service:

./traccar.run &

After launch, the system will be available at http://localhost:8082. For remote access, configure port forwarding on the router or use NGROK.

The camera is connected and recognized (check via `v4l2-ctl --list-devices`)|

Video capture drivers installed (`sudo apt install v4l-utils`)|

Illumination configured (IR or white light) for night photography|

Ports 8082 (Traccar) and 554 (RTSP camera stream) are open in the firewall|-->

To increase recognition accuracy, it is recommended:

  • 🎯 Calibrating the shooting area β€” in the camera settings, specify the area where the license plate is expected to appear (for example, x=200,y=100,width=400,height=150).
  • πŸ” Model training β€” if you have specific numbers (for example, corporate numbers), upload 50–100 examples to Traccar for additional training.
  • ⚑ Performance optimization - disable unnecessary plugins in traccar.xml, if the server is weak.
πŸ’‘

If Traccar does not recognize license plates with the letter "Z" (replace with the number "3"), add to the file user-dict.txt for Tesseract the line: `Z 3 1`. This will force correct the OCR error.

In 2026, the use of license plate recognition systems in Russia is regulated by several regulations:

  • πŸ“œ Federal Law No. 152-FZ (β€œAbout personal data”) - the car number is considered personal information if it is linked to the owner.
  • πŸš— Government Decree No. 1191 (from 2020) - allows ANPR to control access to private areas without the consent of car owners.
  • πŸ“Έ GOST R 58401-2019 β€” establishes requirements for video surveillance, including ANPR systems.

Key points:

βœ… Allowed without consent:

- Control of access to private parking or enterprise territory.

- Recording of drivers’ working hours (if they are notified of video surveillance).

❌ Requires consent or notification:

- Storage of data about numbers for longer than 30 days (according to 152-FZ).

- Transfer of data to third parties (for example, to collection agencies).

- Use on public roads (allowed only to traffic police and municipal services).

If you are installing an ANPR at the entrance to an apartment complex, be sure to post a sign notifying you of video surveillance. Example text:

"The territory is subject to video surveillance with license plate recognition for security purposes. Data is stored for 30 days (FZ-152)."
What happens if you ignore 152-FZ?

When checking by Roskomnadzor, fines are possible:

- For legal entities: up to 75,000 β‚½ (Part 6 of Article 13.11 of the Administrative Code).

- For officials: up to 20,000 β‚½.

- In case of data leakage - up to 500,000 β‚½ (Article 13.14 of the Administrative Code).

In addition, car owners can sue for data deletion and compensation for moral damage (judicial practice: decisions in cases No. 2-1456/2023 in Moscow).

Integration of Traccar ANPR with other systems

One of Traccar's strengths is its ability to interface with external services. For example, you can automatically:

  • πŸšͺ Open the barrier when recognizing the "white list" of numbers (integration with Wiren Board or Raspberry Pi GPIO).
  • πŸ“Š Generate reports in 1C or Google Sheets about the time of arrival/departure of transport.
  • 🚨 Send notifications in Telegram or Slack when a β€œblack list” of numbers is detected.

Used for integration Traccar API or webhooks. Example code for sending number data to a Telegram bot:

import requests

WEBHOOK_URL = "https://api.telegram.org/botTOKEN/sendMessage"

CHAT_ID = "12345678"

PLATE = "A123BV777" # Data from Traccar

data = {

"chat_id": CHAT_ID,

"text": f"Number recognized: {PLATE}\nTime: {datetime.now()}"

}

requests.post(WEBHOOK_URL, data=data)

To automate the barrier, you can use a script on Python with library RPi.GPIO:

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BCM)

GPIO.setup(18, GPIO.OUT) # Barrier relay pin

def open_barrier():

GPIO.output(18, GPIO.HIGH)

time.sleep(5) # Keep open for 5 seconds

GPIO.output(18, GPIO.LOW)

Calling a function when recognizing a number from the white list

πŸ’‘

Use the protocol MQTT for integrating Traccar with a smart home (Home Assistant, Node-RED). This will reduce the load on the server and allow you to flexibly configure automation rules.

Common mistakes and how to avoid them

Even experienced administrators encounter problems setting up ANPR in Traccar. Here are the most common mistakes and ways to solve them:

Problem Reason Solution
Numbers are not recognized at night Weak IR illumination or incorrect white balance Add external IR illuminator (eg. Beward B290) and configure video.nightMode=true in Traccar
High CPU load High-resolution video processing without hardware acceleration Install FFmpeg with support h264_nvenc (for NVIDIA) or reduce the resolution to 1280Γ—720
False positives on dirty numbers Low OCR Confidence Threshold Boost video.plateReader.confidenceThreshold up to 0.85 in the config
Traccar does not save recognized license plates Database not configured Check connection to PostgreSQL or MySQL in traccar.xml

Another common problem is port conflictwhen the camera and Traccar try to use the same port for an RTSP stream. Solution:

  1. Check occupied ports: sudo netstat -tulnp | grep 554
  2. Change the camera port in settings or reconfigure Traccar to a different port in traccar.xml.

If Traccar does not see the camera, make sure that:

  • πŸ”Œ The camera is connected to the same network as the server.
  • πŸ“‘ RTSP stream available (check via VLC Player at the address rtsp://IP_cameras:554/stream1).
  • πŸ”‘ The login/password for the camera is specified in the Traccar config: <entry key='video.url'>rtsp://login:password@ip:554/stream1</entry>

Traccar Alternatives: ANPR System Comparison

Traccar is not the only solution for license plate recognition. Let's look at the alternatives with their pros and cons:

System License type ANPR accuracy Cost Features
Traccar Open (AGPL) 85–92% Free (cloud from $15/month) Flexible configuration, integration with GPS trackers
OpenALPR Open (AGPL) 88–94% Free (cloud from $20/month) Recognizes American license plates better, more difficult to set up
PlateRecognizer Proprietary 90–96% From $0.002 per recognition Cloud service, high accuracy, but charges per request
Avigilon ACC Proprietary 95%+ From 200,000 β‚½ per license Professional solution for large objects

When to choose Traccar?

  • πŸ’° Budget is limited - open source allows you to save on licenses.
  • πŸ”§ Customization is needed - you can modify the recognition logic to suit your tasks.
  • 🌐 Integration with GPS trackers is required - Traccar was originally designed for vehicle monitoring.

When to consider alternatives?

  • πŸ“ˆ Requires maximum % recognition - Avigilon or PlateRecognizer more precisely by 3–5%.
  • ☁️ I don’t want to mess with servers - cloud solutions are easier to support.
  • πŸš› You work with international transport - OpenALPR better supports foreign number formats.

FAQ: Frequently asked questions about Traccar ANPR

Can Traccar be used for license plate recognition on public roads?

No, according to Government Decree No. 1191, ANPR on public roads can only be used by authorized bodies (traffic police, municipal services). For private individuals, this is only permissible on their own territory (parking lot, logistics complex, etc.).

How to improve the accuracy of recognizing dirty or damaged license plates?

1. Use cameras with WDR (high dynamic range) - they handle highlights and shadows better.

2. Set up image preprocessing in Traccar: video.plateReader.preprocessing=true (removes noise).

3. Add numbers with typical damage (for example, a missing bolt) to the β€œwhite list” using regular expressions: video.plateReader.whitelist=A\d{3}BV\d{2,3}.

How much does Traccar ANPR support cost for 10 cameras?

If you deploy locally:

  • Hardware: ~150,000 β‚½ (server based Intel NUC + 10 cameras Dahua).
  • Software: free (Traccar + OpenALPR).
  • Maintenance: ~5,000 β‚½/month (administration, backup).

A cloud solution (Traccar Cloud) will cost ~$50–$100/month depending on the amount of data.

Is it possible to connect Traccar to a barrier controlled by SMS?

Yes, but an interim solution will be required. Scheme:

1. Traccar recognizes the number and sends the data to your server.

2. Server via GSM modem (for example, Huawei E3372) sends an SMS to the barrier number with an opening command.

Ready solutions: SMS barrier from "Relex" or a homemade system on Arduino + SIM800L.

How to export data from Traccar to Excel for accounting?

Traccar has a built-in reporting mechanism. To export number data:

1. Go to the section Reports β†’ ANPR.

2. Select a period and click Export to CSV.

3. Open the file in Excel and save as .xlsx.

For automation use Python-script with library pandas:

import pandas as pd

df = pd.read_csv('traccar_anpr_export.csv')

df.to_excel('report_by_numbers.xlsx', index=False)