Need to compare files? Our products offer more value than the competition, and are trusted by more than 75% of the top-20 financial institutions in North America. Connect with us at sales@x9ware.com and start a free evaluation today.

SDK Image Thresholding

Bitonal image thresholding is the process used to convert gray scale images into binary images, where each pixel is classified as either black or white based on its intensity value. There are a variety of imaging algorithms to accomplish this, where each of these methods utilize their own core process to identify one ore more threshold values. There can be a single threshold that applies to the entire image, or the algorithms can be a more complex where there are multiple thresholds, where each is adapted to the local area within the image. Pixels with intensities above the threshold are assigned to one class (usually white), while pixels with intensities below or equal to the threshold are assigned to the other class (typically black).

Bitonal Image Challenges

Significant challenges exist in this process. Gray scale images may contain noise that can affect the accuracy and the output image that is created by the thresholding process. To address this, pre-processing steps like smoothing or filtering can be applied to reduce noise before applying the thresholding. Another challenge arises from a multitude of issues with the input image itself. This can be caused by scanner noise, image artwork, complex backgrounds, camera problems with mobile deposits, and varying lighting conditions when the image is captured. All of these can lead to uneven intensity values, which can result in undesirable results where images are washed out to black making the output image unusable. Adaptive thresholding methods attempt to mitigate this issue by adjusting the threshold locally based on image content can mitigate this issue.

Within our SDK and X9Utilities, we have implemented a number of thresholding methods that are sequentially, in an attempt to generate a usable output image despite initial image capture issues. This is accomplished by applying a variety of thresholding techniques and evaluation the resulting image for usability. This process ultimately selects the image that, based on our inspection, appears to provide the most usable output image.

Bitonal Thresholding Techniques

Our thresholding process first invokes the standard Java ImageIO conversion from gray scale to bitonal that is provided by the JDK. This result is accepted when the output image is determined to be usable. We otherwise then attempt a variety of additional thresholding techniques:

  • Otsu’s thresholding, named after Nobuyuki Otsu, which is a widely used automatic thresholding technique for image segmentation. The primary goal of Otsu’s method is to find an optimal threshold that minimizes the intra-class variance while maximizing the inter-class variance of pixel intensities in a gray scale image. This threshold effectively separates the image into two classes, typically foreground and background, resulting in a binary image. The algorithm calculates the histogram of pixel intensities in the gray scale image and then iterates through all possible threshold values. For each threshold, it computes the intra-class variance, representing the spread of intensities within each class, and the inter-class variance, representing the difference between the mean intensities of the two classes. The threshold that maximizes the ratio of inter-class variance to intra-class variance is chosen as the optimal threshold. Otsu’s method is particularly effective in scenarios where there are distinct intensity peaks corresponding to different image regions. It is robust in handling images with bimodal intensity distributions. This automated thresholding technique is widely employed in various image processing applications, including medical image analysis, document processing, and computer vision tasks, offering a data-driven approach for effective image segmentation.
  • Li’s thresholding which is an automatic thresholding method used for image segmentation, particularly in scenarios where Otsu’s method may not perform optimally. Developed by Cheng-Chang Li, this technique aims to find a threshold that minimizes the cross-entropy between the original grayscale image and the resulting binary image. Unlike Otsu’s method, Li’s thresholding is suitable for images with uneven illumination or non-uniform background. Li’s method involves computing the histogram of pixel intensities and iteratively determining the threshold that minimizes the cross-entropy. Cross-entropy is a measure of the dissimilarity between two probability distributions, and in this context, it represents the dissimilarity between the grayscale image and the binary image based on the chosen threshold. One of the advantages of Li’s thresholding is its adaptability to images with varying lighting conditions, making it suitable for a broader range of applications. This method has found use in fields such as medical image analysis, document processing, and industrial quality control. As with any thresholding technique, it is essential to evaluate its performance on specific image characteristics and adjust parameters accordingly for optimal results in diverse imaging scenarios.
  • Mean thresholding which is a simple yet effective technique for image segmentation, particularly in cases where the image exhibits a relatively uniform background. This method calculates a threshold based on the mean intensity of the pixel values in the grayscale image. The idea is to classify pixels as foreground or background depending on whether their intensity is above or below the computed mean threshold. The process involves calculating the mean intensity of all pixels in the image and using this value as the threshold. Pixels with intensities greater than the mean are assigned to one class (often considered foreground), while pixels with intensities less than or equal to the mean are assigned to the other class (typically background). This straightforward approach makes mean thresholding computationally efficient and easy to implement. However, mean thresholding may be sensitive to variations in image background and lighting conditions. It may not perform well in cases where the image has a non-uniform background or contains significant noise. As a result, mean thresholding is often most effective in situations where the image exhibits consistent illumination and a clear intensity distinction between foreground and background. Careful consideration of image characteristics is essential when choosing an appropriate thresholding method for optimal segmentation results.
  • Yen’s thresholding method, proposed by Chin Yen in 1995, which is an automatic image thresholding technique designed to address challenges presented by uneven illumination and varying backgrounds in gray scale images. It aims to find an optimal threshold that maximizes the criterion known as the Yen’s entropy. This criterion is based on the information entropy, a measure of uncertainty or disorder in a probability distribution. The Yen thresholding algorithm computes the histogram of pixel intensities and then iteratively evaluates the entropy for all possible threshold values. The threshold that maximizes the Yen’s entropy criterion is selected as the optimal threshold for segmenting the image into two classes. Yen’s method is particularly effective in scenarios where Otsu’s method may struggle, such as images with uneven illumination or complex backgrounds. By considering the information entropy, Yen’s thresholding provides a robust solution for images with diverse intensity distributions. This technique has found applications in various fields, including medical image analysis, document processing, and object recognition. Its adaptability to different image characteristics and its ability to handle challenging lighting conditions make Yen’s thresholding a valuable tool in automated image segmentation tasks, offering improved performance in situations where traditional methods may fall short.
  • Adaptive thresholding, which is a versatile image segmentation technique that addresses challenges posed by variations in illumination across an image. Unlike global thresholding methods, which use a single threshold for the entire image, adaptive thresholding dynamically adjusts the threshold locally based on the pixel values in the vicinity of each image point. The algorithm divides the image into smaller regions or tiles, and a distinct threshold is computed for each region. This enables adaptive thresholding to handle images with uneven lighting or complex backgrounds more effectively. Common methods for adaptive thresholding include mean-based, Gaussian-based, and Sauvola’s method, each with its own approach to computing local thresholds. Mean-based adaptive thresholding calculates the threshold for each region by considering the mean intensity of the pixels within that region. Similarly, Gaussian-based methods use the weighted average of pixel intensities, giving more significance to the central pixels. Sauvola’s method takes into account both the mean and the standard deviation of pixel intensities to adaptively compute thresholds. Adaptive thresholding is particularly useful in applications such as document processing, character recognition, and medical imaging, where lighting conditions may vary across an image. By adapting to local characteristics, this technique enhances the accuracy of segmentation in diverse scenarios, offering a more robust solution to challenges presented by complex image structures and lighting variations.
  • Niblack thresholding is an adaptive thresholding technique designed to address challenges in image segmentation posed by variations in illumination and noise. Proposed by Wayne Niblack in 1986, this method computes local thresholds for each pixel based on the mean and standard deviation of pixel intensities within a local neighborhood or window. The algorithm divides the image into non-overlapping windows and calculates a threshold for each window. Pixels with intensities higher than the local mean plus a user-defined parameter (typically a multiple of the standard deviation) are classified as foreground, while pixels below this threshold are classified as background. This adaptive approach makes Niblack thresholding well-suited for images with uneven illumination or varying background conditions. One advantage of Niblack thresholding is its sensitivity to local image characteristics, enabling it to handle variations in lighting and noise. However, it may be sensitive to the choice of parameters and may not perform optimally in all scenarios. Despite this, Niblack thresholding has found applications in document image analysis, where text may be present against varying background intensities, and in scenarios where local adaptability is crucial for accurate image segmentation. Experimentation and parameter tuning are often necessary to optimize its performance for specific imaging conditions.

Our SDK (class X9ImageThresholding) and X9Utilities products utilize all of these thresholding techniques to achieve best possible results. We have done a lot of research and subsequent work to implement a very good solution for these issues. We are interested in your feedback as to how our current solution works and can be be further improved.

Scroll to Top