Intlab Container

Container number recognition SDK

What is Intlab Container for?

24/7 real-time optical recognition of vertical and horizontal numbers (ISO 6346) cargo containers being transported on a motor vehicle, flat wagon (flat car), or crane, with a single consolidated recognition result for each container.

Intlab Container is a software development kit (SDK) for third-party integration of 24/7 optical detection and recognition of container identification numbers in a broad range of external conditions. The engine supports standard containers of all dimensions and tank containers with an identification number compliant with ISO 6346. The engine provides the ability to read numbers in individual images as well as video steams. The engine provides the best quality recognition when used with a video stream, since the results received from individual frames taken from different cameras are analyzed and combined to form a single result for each container. Because container numbers are duplicated on all sides and twice on the top of the container, 2 to 6 cameras may be used to achieve the best recognition results.

Basic specifications

        ​up to

Recognition accuracy


Single-frame recognition time


Maximum container speed


Minimum character height

Results from individual frames are merged and a single result is issued for each container

Supported container types


Windows 7, 10
Windows Server
C# (.Net)
Many others

Specifications, system requirements, and the API

  • Specifications
  • System requirements
  • API

Typical probability of accurate recognition results when reading numbers in video streams from two sides

95 — 98%

Recognition of horizontal numbers (1-4 lines) +
Recognition of vertical numbers (1-2 lines) +
Supported container types 

standard dry cargo containers with lengths of 20, 40, 45, 48, and 53 feet

20-foot tank containers

ISO standard container numbering

ISO 6346

Supported character height characters as small as 10 pixels are supported, though a height of at least 16 pixels is recommended for best accuracy
Container speed up to 20 km/h
Possible places for number reading sides and roof of containers
Number of cameras

1 — 6, at least 2 recommended

Width of camera's monitored area

4 — 8 meters
Camera's angle from the horizontal <= 20°
Camera's angle from the vertical <= 30°
Camera's roll angle <= 5°
Camera's distance to container 1.5 — 10 meters (depending on the focal length of the camera lens); the optimal distance is 3-5 meters
Minimum light level depends on the video camera used, 50 lux is typical
Average time spent processing each frame with the recommended resolution 200 millisecond
Correction of perspective and radial lens distortion +
Syntactic control and verification of wagon numbers using the ISO6346 checksum +
Determination of the container's direction of motion from the video left, right
Consolidated recognition results based on the series of video frames captured as the container moves through the monitored area  +
Supported video signals individual images or live streams from an analog or digital camera
Licensing system 1 license for each instance of a primary / secondary recognition object, USB dongle
Supported programming languages SDK can be used in applications in C / C ++, C #, VB.Net, Java and any other programming languages that support calling C functions.
Package contents SDK distribution package, documentation, examples in C / C++, C#, USB license dongle

Supported operating systems

Windows 7,8,10 (32/64 bit), Windows Server 2008, 2012 (32/64 bit), Linux Ubuntu (64 bit)

Recommended computer configuration
  • Core i5 (4th generation desktop CPU or higher) to perform recognition simultaneously on 1-2 video streams of rolling stock moving up to 10 km/h.
  • Core i5 (4th generation desktop CPU or higher, 4 cores) to perform recognition simultaneously on 2-4 video streams of rolling stock moving up to 10 km/h.
  • Core i7 (4th generation desktop CPU or higher, 4 cores) to perform recognition simultaneously on 1-4 video streams of rolling stock for speeds above 10 km/h.
  • Core i7 (4th generation desktop CPU or higher, 8 cores) to perform recognition simultaneously on 5-8 video streams of rolling stock for speeds above 10 km/h.
  • RAM: 4 Gb or greater.

Engine input

  • images loaded from a file or passed in a memory buffer in BMP, JPEG, or RAW format
  • real-time video stream passed in a memory buffer in BMP, JPEG, or RAW format, event indicating when container first appears in the monitored area, event indicating when the container has left the monitored area
Engine settings Frame resolution, rectangular recognition zone within the frame (region of interest - ROI), minimum and maximum size of characters in numbers, average character height, average aspect ratio, parameters for camera tilt correction (optional), parameters for radial distortion correction (optional)
Engine output When the engine receives an event indicating that the container has left the frame or stopped, the following results are returned:
  • the set of the best recognition hypotheses for each separate frame, where each hypothesis contains a string representation of the number, a recognition confidence score (hypothesis weight), the timestamp and image of the frame with the highest confidence score for this hypothesis, the location of the number within the frame, and the timestamps of the first and last frames where the container number was detected;
  • the final result, obtained by combining the results from each frame, contains a string representation of the number with the recognition confidence score (hypothesis weight), recognition confidence score for each character, direction of container motion, and a link to the recognition data from the best camera;

Key advantages

Inhouse development
Inhouse development
Our engineers developed all of our recognition libraries from scratch, putting us in the best position to answer customers' questions, since there are no third-party dependencies.
The recognition engine works smoothly on a video stream (up to 10 fps) of container moving up to 20 km/h, performing recognition using up to 6 cameras on a control point, while also maintaining the highest possible recognition quality.
High recognition accuracy
High recognition accuracy
Our superior recognition accuracy, which is confirmed by internal and third-party testing, is achieved thanks to the high recognition speed (which ensures that frames are not skipped), most advanced recognition algorithms, smart unification of per-frame results, and the ability to use 2 to 6 cameras from both sides of a container to recognize numbers on various sides of the container.
Support for non-standard numbers
Support for non-standard numbers
Unlike ordinary recognition engines, Intlab UIC doesn't use any limited selection of geometric templates for container numbers. Instead, it uses proprietary font-independent OCR, allowing the engine to support the broadest possible range of versions of container ISO 6346 compliant numbers.
Hardware independence
Hardware independence
Our video analytics engines are not tied to any specialized equipment or cameras. You can use any hardware that meets the technical requirements.
Fast and simple development
Fast and simple development
We strive to provide the most flexible, functional, convenient, and coherent APIs for all of our product lineups. We provide developer support and consultations during integration of our products into client solutions. We care about our clients and strive as much as possible to maintain backwards compatibility and support older versions of the API.
Friendly and effective support
Friendly and effective support
A qualified expert developer will quickly answer even your most difficult question.
Superb qualifications
Superb qualifications
12+ years of real-world experience conducting research, and developing and perfecting software in the area of OCR and computer vision.
Continuous improvement
Continuous improvement
During the lineup of product's more than 12 years of existence, we have worked continuously to improve the technical characteristics of the recognition engine. Having a lineup of number recognition products lets us continuously grow our expertise while simultaneously advancing and improving the recognition kernel in the entire product lineup.