Intrada ALPR

Welcome to Intrada ALPR documentation. This documentation will help you implement your Intrada product in your exisiting setup.

The example below shows how to integrate with the Intrada ALPR C/C++ library.

For a more elaborate example, please check the source and solution/makefile of the RecognizeDir application as shipped with your Intrada ALPR license.

Through the Intrada settings, you can specify information about the input images and the desired output. To feed the Intrada settings to the engine, you can elaborate them in a settings file and load the file before recognition. Alternatively, you can define the individual settings through the various IntradaSetXXXX calls on the interface.

To prepare suitable settings we recommend to use the Intrada ALPR Settings Editor as shipped with the Intrada ALPR license. This application allows to you interactively inspect the impact of settings to the image type at hand.

Specifying the right settings for recognition is key towards achieving the best results from the recognition process. In order of priority, please check the following settings for your application:

  1. Input: Ensure the camera settings reflect your image/camera characteristics. Specify the right CFA pattern where applicable, select image orientation when the camera is mounted in a rotated position, check the interlacing properties where applicable and set the image size when this is fixed.
  2. Character size: When you know the range of character heights from the resolution and camera position, specifying this range may increase accuracy and speed. Default is 15px to 60px. The settings editor can be of great help to make the best estimation for your images.
  3. Area of interest: When you know the area where the license plates will show up as part of the full images, you can speed up the recognition by setting a simple or complex area of interest.
  4. Stopping criteria: We recommend to set the time limit to a suitable maximum for your application, setting a minimum confidence to 800 and set the maximum number of license plates you would like to read from the image.
  5. Countries: When you would like to read license plates from a sub selection of countries in your license, you can specify them in the settings.

Intrada ALPR Visualizer

You can use the Intrada ALPR Visualizer with Settings Editor to interactively see the effect of various Intrada settings on the images at hand. We strongly recommend to use this tool to develop the optimal settings and export the settings to a settings file.

Note that you can even export C-code you can use in your own program to effectuate the prepared settings.

The Intrada ALPR software library is all suitable for parallel processing, allowing to take benefit of any multi-core or multi-threaded environment the application will be running on. To that purpose, the Intrada ALPR is thread-safe. This means, given a thread-specific settings and data object (see also section 4), parallel calls to IntradaRecognize or any other post-recognition call will not influence each other.

The simplified code fragment below indicates the parts that need to be called once from one thread and which can be called in parallel.

Main (single thread, not thread-safe)

Recognition threads (parallel threads, thread-safe)

Main (single thread, not thread-safe)

Note: any single call to IntradaRecognize() is still a sequential process. The parallelism shall always be initiated from the user application as shown above.

Observed issue Possible cause Solution
Intrada does not initialize and returns INTRADA_RETURN_LICENSE_EXPIRED Your Intrada ALPR license was valid for a limited time. This time has exceeded and the license is not valid anymore. You can check the validity of the license file using a text editor. Contact Q-Free Netherlands to verify possibilities to extend the license validity or temporarily extend the validity online through the license renewal tool.
Intrada does not initialize and returns INTRADA_RETURN_ILLEGAL_PLATFORM Your Intrada ALPR license was locked for a specific hardware/OS platform. You are initializing Intrada ALPR on a different platform and therefore the initialization fails. Contact Q-Free Netherlands for support and possibilities to change the target platform.

Direct link to the support page:

extern int IntradaGetVehicleColor (IntradaData data,
                                    int plate_index,
                                    const char **vehicle_color,
                                    int *confidence);
extern int IntradaGetVehicleMakeModel (IntradaData data,
                                    int plate_index,
                                    const char **vehicle_make,
                                    int *confidence_vehicle_make,
                                    const char **vehicle_model,
                                    int *confidence_vehicle_model);
extern int IntradaGetVehicleClass (IntradaData data,
                                    int plate_index,
                                    const char **vehicle_class,
                                    int *confidence);
extern int IntradaGetVehicleSide(IntradaData data,
                                    int plate_index,
                                    const char **vehicle_side,
                                    int *confidence);
Toggle index