Data capture, character recognition OCR ICR OMR CHR BCR, image processing, forms data capture, document indexing, automatic data extraction Data capture, character recognition OCR ICR OMR CHR BCR, image processing, forms data capture, document indexing, automatic data extraction
Recogniform Dynamic Thresholding SDK

Recogniform Dynamic Thresholding SDK

This library allows you to convert 256 gray-levels images into monochrome ones using Dynamic Thresholding.
This means that threshold value for binarizing image is not fixed but it is dynamic. It's calculated to be independent from changes both in foreground darkness and in background lightness and in illumination level.
By adjusting contrast levels automatically, Dynamic Thresholding increases the accuracy of low-contrast documents containing hand-written or typed characters with variable lines thickness and darkness:

Original Gray-Scale Image
Original Gray-Scale Image
Fixed Thresholding Image
Fixed Thresholding Image
Dynamic Thresholding Image
Dynamic Thresholding Image

Considering these variations the system adjusts the threshold value automatically, allowing the image to preserve light foreground details and to eliminate dark background zones in a smart way. The final result is an optimal monochrome image suitable for better visualization, better compression, better optical character recognition and better automatic vectorization.

No operator's intervention is required for manual threshold adjustments!

With this library you can have better results than the ones reached using an image scanner with an expensive hardware board supporting dynamic thresholding.

Using this software, the advantages are evident:

  • Hardware indipendence:
    You can use every image scanner for acquiring your gray-level images
  • Batch processing:
    You can convert gray-level images off-line and not only during scanning process
  • Specific zone conversion:
    You can extract and convert only a specific area of the image, i.e. for ICR/ICR
  • Two images in one:
    You can derive from gray-scale image the perfect monochrome image version in every moment
  • Investment protection:
    When you buy a new image scanner you don't need to buy a dynamic thresholding board

The library can be used by any 32 bit programming language supporting DLL: C / C++, Visual Basic, Delphi, etc...
This is a sample "C" source code fragment showing how it's easy to use this library:

  // Declare local variables
  long Session,Error,MonoDIB;

  // Init the library

  // Check if any error occurred
  if (Error!=DT_OK)
    // Perform the dynamic thresholding
    Error=DT_Execute(Session, GrayDIB,  &MonoDIB);

    // Check if any error occurred
    if (Error!=DT_OK)
      // ==========================================
      // Add here your code to use the mono image 
      // ==========================================

      // Free the monochrome DIB handle
    // Deinitialize the library
  return (Error);
Thresholding and Binarization
When you need to binarize a gray-levels image, you need to select a threshold value, because gray values range is from 0 to 255: pixels lower than this value are considered background (paper) and pixels higher than this value are considered foreground (text and graphic elements).

Using our software you can choose any kind of existing binarization algorithms:

  • Fixed Thresholding: this systems usually uses 127 as default threshold value, but you could change this value and obtain darker or lighter images. This threshold value is used for all the pixels in the image. In this system the parameter you can set is obviously the threshold.
  • Auto Thresholding: this system uses the same threshold value for all the pixels of the image; this value is not fixed manually but it's chosen in automatic mode, analyzing the image and choosing the "best" value. The last one can be found with several methods, based on different mathematical formulas, so in this process the parameter you can set is the type of algorithm you want to use in the auto thresholding.
  • Dynamic Thresholding: this system uses a different threshold value for each pixel of the image. This value is selected automatically, analyzing the sub-image area around each pixel and finding the local contrast. If the contrast of this area is low, the pixel is binarized using a global pre-calculated threshold value, otherwise, when the contrast is high, the local threshold value is calculated and used. The parameters you can set are the sub-image area size and the local contrast limit or, alternatively, a unique value of aggressiveness.
  • Advanced Dynamic Thresholding: this system is an evolution of dynamic thresholding; no parameter is required because the software automatically finds the best solution making several attempts and preserving a larger number of details in the image. This system is usually slower than others and it's suitable for small images.

Evaluation version
Through the download section you can download an evaluation version of this product.

Looking a solution ready to use capable of processing any type of documents and forms, printed or handwritten, structured (fixed layout) or unstructured (variable layout)? Choose Recogniform Reader!
To more information about Recogniform Dynamic Thresholding SDK and our solution for data capture and image processing, you can send us a email to or fill the below form.

First Name
Last Name
Zip Code

Taking note of Information of the policy of personal data (D. Lgs 30 june 2003 n.196 and subsequent amendment and additions), click on the "OK" button i consent to collect, hold, process, communicate, and if appropriate, discontinue the treatment/s of personal data that concern me, for the purposes specified in the policy.

  • Recogniform Dynamic Thresholding SDK - Purchase

    Dynamic Thresholding SDK - Royalties Free

    The Dynamic Thresholding SDK is royaltes-free which you can deploy and use the software that integrates the capabilities up to 1000 computers without additional cost. Using this SDK require the license agreement subscription whereby order evasion does not require physical shipment. If you want to deploy over 1000 runtime licenses you need to purchase multiple licenses of the product.
    € 4.000,00 + VAT