Wagon Number/UIC Recognition SDK

DTK WNR SDK

Current Version: 2.0.6
Release Date: 20 Feb 2024

DTK WNR SDK (Wagon Number/UIC Recognition) is a software development kit designed for software developers who want to integrate wagon number recognition into their software products. DTK Wagon Number Recognition engine detects and recognizes 1520 mm gauge railways eight-digit wagon numbers (used in the former-USSR and now the CIS and Russia) and UIC-12 european railways wagon numbers from various video sources (IP cameras, video files, video capture devices) and still images (JPEG, PNG, BMP). The fast and stable WNR engine is built on the latest technologies and algorithms, provides highly accurate recognition from the real-time video at a resolution up to 1920x1080 (Full HD).

It is compatible with standard IP camera protocols and encodings (such as MJPEG/HTTP, H.264/RTSP) and custom video sources, providing decoded (RAW) frame images to the recognition engine. The SDK can be used with the most popular programming languages like C++, C#, VB.Net, Java, Python, etc. The documentation, help files, and sample applications (C++, C#, VB.NET, Delphi, Java, Python) are included in the SDK.

Create Free Trial Account

Supported Wagon Number Types

  • UIC-12 (primarily in European railways)
  • 1520 mm gauge railways eight-digit wagon numbers (used in the former-USSR and now the CIS and Russia)

Main Advantages

  • 97% recognition rate (including low quality and damaged numbers)
  • 20-80 ms processing of a single frame/image
  • Supports non-standard numbers printed in various fonts
  • Provides coordinates and confidence of a recognized wagon number
  • Provides coordinates and confidence of a individual characters of a wagon number
  • Detects wagon movement direction in a video
  • Captures video from IP cameras, video files, video capture devices

The following C# code example demonstrates video processing from an IP camera
private void btnRecognizeVideo_Click(object sender, EventArgs e)
{
    WNRParams parameters = new WNRParams();
    parameters.WagonNumberType = WAGON_NUMBER_TYPE.UIC_NUMBER;
    parameters.MinWidth = 100;
    parameters.MaxWidth = 400;
    WNREngine engine = new WNREngine(parameters, true, OnWagonNumberDetected);
    VideoCapture videoCap = new VideoCapture(OnFrameCaptured, OnCaptureError, engine);
    videoCap.StartCaptureFromIPCamera("rtsp://user:pass@192.168.1.105/axis-media/media.amp");
}
private void OnFrameCaptured(VideoCapture videoCap, VideoFrame frame, object customObject)
{
    WNREngine engine = (WNREngine)customObject;
    engine.PutFrame(frame, 0);
}
private void OnWagonNumberDetected(WNREngine engine, WagonNumber wnum)
{
    Console.WriteLine(string.Format("Number: {0} Confidence: {1}",
            wnum.Text, wnum.Confidence));
}
The following C# code example shows how to read wagon numbers from an image
private void btnRecognizeImage_Click(object sender, EventArgs e)
{
    WNRParams parameters = new WNRParams();
    parameters.WagonNumberType = WAGON_NUMBER_TYPE.UIC_NUMBER;
    parameters.MinWidth = 100;
    parameters.MaxWidth = 400;
    WNREngine engine = new WNREngine(parameters, false, null);
    List<WagonNumber> result = engine.ReadFromFile("C:/Images/test.jpg");
    foreach (WagonNumber wnum in result)
    {
        Console.WriteLine(string.Format("Number: {0} Confidence: {1}", 
            wnum.Text, wnum.Confidence));
    }
}

The following images can be successfully recognized by DTK Wagon Number Recognition engine

wagon number 54404843
wagon number 55163562
wagon number 56661523
wagon number 54404843
wagon number 55163562
wagon number 56661523
wagon number 95747242
wagon number 67278432
wagon number 94229945

Links

Supported Operating Systems

  • Windows 32/64-bit (7/8/10/11/Server 2008/2012/2016/2019/2022)
  • Linux (32/64bit, armhf, arm64)
window and linux icons

Downloads

To download the full or trial version of the software, please go to the Downloads page.