License Plate Recognition

Visionaire License Plate Recognition (Docker Stream) is a containerized Artificial Intelligence Analytics which provides recognition of license plates for all types of vehicles. Nodeflux LPR is using a Deep Learning algorithm developed to adapt to real conditions in Indonesia, like various kinds of plates, and any wide range of environmental conditions.

How it Works

Analytics Performance



Character Accuracy


Plate Type

Military, Police, Diplomat, Public (Only Indonesia)

Weather Condition

Rainy, Dusty, Visible Low-Light, Daylight

Minimum Plate Size

250px x 150px

Maximum Tilt


Plate Condition

Bended, Cropped, Framed

LPR-S (Special Case)


Character Accuracy


Plate Type

Indonesian Military (TNI AD, AL, AU), Mabes TNI, Police, Private

Weather Condition

Rainy, Dusty, Visible Low-Light, Daylight

Minimum Plate Size

250px x 150px

Maximum Tilt


Plate Condition

Bended, Cropped, Framed

Camera Specification

Camera SettingsLicense Plate RecognitionGeneral Analytics

Frame Resolution

1080p - 4K

720p - 1080p




Codec Profile



Bit Rate Mode

Constant (CBR)

Variable (VBR)

Target Bitrate

4 - 10 Mbps

1 - 4 Mbps

FPS Rate


15 - 30


6 Mbps

4 Mbps

Exposure Time/Shutter Speed

1/1000s - 1/2000s

1/30s - 1/120s

Deployment Schema

Acceptable Condition

The images below are the reference for license plate analytics.

  1. Well-exposure condition minimum 40 Lux, otherwise performance will drop.

  2. Open space traffic with low occlusion level.

  3. A frontal plate view is recommended for better detection.

Here are the examples of our implementation in different conditions

Restricted Conditions

The restricted condition for license plate analytics, including

  1. Vehicle-like ads/banner

  2. Non-traffic grade camera for a high-speed situation (>80kmph)

License Plate Accuracy

“How accurate is your LPR system?” This is one of the most common questions we are asked, as well as the most difficult to answer. License plate recognition accuracy is highly dependent on the quality of input video. If a human can’t discern the license plate characters, then the software will also struggle. If the camera was properly set up, high accuracy is likely. Conversely, results may be less accurate if the camera did not clearly capture license plates.

To verify that your camera can work with an LPR system, try performing a test. Freeze a frame as a car drives past and try to read the number plates. If you cannot do this easily, the LPR system will not be successful. Even if the plate numbers are legible, the camera may not be ideally configured for LPR. Human brains are remarkably good at identifying patterns from visual imagery; however, a computer needs a clear, ideal image to perform optimally.

In the image below, the license plate appears to be legible. The blurry shades of gray blend into the plate background and other characters. A machine will struggle to accurately read a plate such as this.

The most important factors affecting LPR accuracy are camera placement and video quality. To achieve the highest possible performance for your LPR system, optimize the following variables:

1. Lighting

Adequate lighting is crucial for capturing clear license plate images on moving vehicles, often requiring external illuminators. Cameras adjust shutter speed based on available light; in bright conditions, the shutter may open for 1/10000th of a second, while in dark conditions, it may remain open for a full second. The shutter speed directly affects the sharpness of the image; a faster speed minimizes motion blur, ensuring legible license plate images.

Increasing the shutter speed alone won't improve results; insufficient light can lead to a black image. Instead, increase lighting. For day/night cameras with an IR cut filter, use an external infrared illuminator to make the plate reflective. The filter removes headlights, leaving the plate visible. Alternatively, use a spotlight or white LED lights.

Adjust the camera shutter speed to avoid over- or under-exposure. For bright conditions, use 1/5000 of a second; for night, use 0.75 to 1 second. If the camera doesn't auto-adjust, direct a light fixture toward the vehicle for adequate lighting.

2. Angle and Zoom of Capture

When setting up your camera, aim to capture the license plate directly, as accuracy decreases beyond a 30-degree horizontal or vertical angle. Mount the camera high and angle it downward to avoid headlight/taillight glare. Using a longer-range camera lens and zooming in can decrease the angle, providing better results than a wider-angle lens aimed more perpendicularly.

Video-Input Guideline

It is recommended to place the camera so it can cover all of the road area (no clipped roads).

If the camera must be placed in diagonal alignment, make sure that the furthest area of the video is still visible by human eyes. Do not use infinity vanishing points.

Camera Zoom for Best LPR

Beginners often believe that a wide-angle shot is best for license plate recognition, but cameras should be aimed towards entrances or exits for better plate capture. Adjusting camera positioning and focus width to include the license plate improves accuracy. It's better to focus on just the street rather than a wide-angle view. Avoid over-zooming to ensure at least 50 pixels of width for a good plate read.

Camera Distance for Better LPR

The maximum advisable distance between the camera and the vehicle is 35 meters. Actually, whenever possible, it is preferred to minimize that distance. Why? Because minimizing the distance between the camera and vehicle helps ensure that the camera can easily focus without the need to zoom in to the target vehicle. This helps reduce image blurriness

Distance between camera and vehicle should be minimized as much as possible and definitely under 35 meters.

Camera Angle to Improve LPR

While Plate Recognizer LPR has been tuned to support a wide variety of license plate angles, it’s always ideal to have the camera set up appropriately. In terms of angle, the setup of the LPR camera can be positioned in two ways, slope as well as vertically and horizontally. For both cases, it is advisable to have a maximum of 45 degrees for a proper read of the license plate.

3. Pixels on Target

The number of pixels captured for each license plate is crucial, with many successful captures from almost a mile away. Adjust camera zoom and resolution to increase pixels on target. For best results, zoom the field of view to the area where the license plates will be captured, especially with cameras capable of automatic optical zoom or with a choice of lenses. This ensures more accurate plate recognition compared to a wide field of view.

Adjusting the camera's resolution can increase the pixels for each plate, but this may also increase processing time. If CPU resources are limited, increasing resolution too much can decrease accuracy. It's recommended to set the camera resolution no higher than 1080p, ensuring plates still have enough pixels for detection. Interestingly, further decreasing the resolution when the camera is sufficiently zoomed may improve accuracy.

4. Camera Image Settings

Getting the correct image settings takes some trial and error because no two scenes are alike. If your goal to capture plates 24/7 you’ll have to make some trade-offs. Settings that work best at night aren’t necessarily going to work best during the day and vice versa. Most modern IP cameras provide good image quality using the default/automatic settings. However here are some suggestions that you can try to improve accuracy in varying lighting conditions.

  • Resolution/Frame Rate = 720p (1280x720) and 20 frames per second are a good starting point depending on how far away the camera is to the plate. Remember your pixels on the target equation above to determine the maximum distance of the camera. The more you increase the resolution the more CPU processing power is required unless you use the Detection Zones masking feature to tell the software where to look for plates.

  • Compression = 20. A lower setting will produce better image quality at the tradeoff of more bandwidth consumption.

  • Smart Codecs = off. If your camera manufacturer uses technology to compress the image based on a region of interest or motion detection disable it.

  • Camera Capture Mode

    • Wide Dynamic Range = Off. This feature adds noise to the image which affects accuracy in low light conditions.

  • Image Appearance

    • Color level = default setting

    • Brightness = default setting

    • Sharpness = 60% - 65%

    • Contrast = 60 - 75%

  • White Balance

    • White balance = Automatic

    • White balance window = Automatic

  • Wide Dynamic Range

    • Enable Dynamic Contrast = off

  • Exposure Settings

    • Exposure value = 70%

    • Exposure control = Automatic

    • Maximum Exposure Time =1/1000 second

    • Backlight compensation = off

    • Exposure zone = Auto

    • Shutter Speed = Fixed @ 1/2000 - for slow speed; 1/4000 + for highway speed.

    • Gain = Auto

    • Max Gain = +12 (day) +24 db (night). Avoid excessive gain settings which will add noise to the image.

  • Image Settings

    • Enable automatic iris adjustment = yes

  • Day/Night

    • IR cut filter = On (during Day), Off (Night)

  • IR Illumination (if required)

    • Enable IR illumination = yes

Frame Rates

The camera frame setup for LPR depends largely on the vehicle's speed, whether capturing still or moving plates ("free flow"). Calculate the net speed difference: if the camera is fixed, it's the vehicle's speed; if in a moving vehicle (e.g., police car), it's the difference between your speed and the target's. Adjust frame rate accordingly: 10-15 fps for 10 mph, 15-25 fps for 30 mph, and 30-40 fps for 60 mph. Send more images to the LPR engine for faster vehicles: 1-2 images at 10 mph, 3-5 images at 30 mph, and 5-10 images at 60 mph, at specified intervals. Testing and refining based on camera quality and zoom level is recommended.

Tips & Conclusion

Additional Tips to Improve LPR

While there’s plenty that you should do, there’s also plenty that you should not do. Let’s face it. Cameras come with a lot of settings, and it’s easy to switch on a bunch of settings that you either don’t know what they are or don’t need and forget that you’ve activated. Here are some to keep in mind:

Automatic gain control (AGC), digital noise reduction (DNR), autofocus, and backlight compensation (BLC) are all features you want to keep disabled while enabling LPR camera setup. Once again, this is because it will give you the best chance of grabbing that license plate number from a moving vehicle using LPR .

AGC creates issues because the gain itself prompts digital noise and lower recognition in the image. It’s often much simpler just to leave the feature off. DNR is best left alone because it is performed by removing pixels based on comparing two frames. Although this might seem harmless, it’s often not because it can easily remove pixels that could be helpful to you in the future. Next, you can pass on autofocus because adjusting the sharpness often reduces the recognition quality in the image itself. Finally, the BLC can cause issues with the image because it often occurs when a light source enters a frame. When the pixels do not have enough time to properly adjust, the camera will not be able to capture a good image.

And, while this may seem obvious, we see that the best LPR contains images that are in landscape rather than in portrait view. This makes intuitive sense since the license plate itself is often oriented in the landscape than portrait mode. And, just like watching TV, we (and thus our LPR engine) are used to seeing the world in a landscape format.


Following the best practices discussed in this article can be the difference between an LPR accuracy of 55 percent and 99.5 percent. In many cases, it’s just as much about knowing what to do as it is knowing what not to do. Start with camera height, width, and distance and you’ll be able to start updating your LPR camera setup, so your images are usable and accurate for safety and surveillance purposes.

Deployment Schema

Last updated