Adaptive Thresholding
Essay by review • November 3, 2010 • Essay • 783 Words (4 Pages) • 1,489 Views
Summary
We have to develop an adaptive thresholding system for greyscale image binarisation. The simplest way to use image binarisation is to choose a threshold value, and classify all pixels with values above this threshold value as white and all other pixels as black. Thresholding essentially involves turning a colour or greyscale image into a 1-bit binary image. If, say, the left half of an image had a lower brightness range than the right half, we make use of Adaptive Thresholding. Global thresholding uses a fixed threshold for all pixels in the image and therefore works only if the intensity histogram of the input image contains distinct peaks corresponding to the desired subject and background. Hence, it cannot deal with images containing, for example, a strong illumination gradient.
Local adaptive thresholding, on the other hand, selects an individual threshold for each pixel based on the range of intensity values in its local neighbourhood. This allows for thresholding of an image whose global intensity histogram doesn't contain distinctive peaks.
The assumption behind method is that smaller image regions are more likely to have approximately uniform illumination, thus being more suitable for thresholding. Firstly, we develop a method based on the local row average to binarise the current line using that threshold. We then extend this technique to a moving window of different sizes.
Method
For the first part of the assignment, we develop a method based on the local row average to binarise the current line using that threshold. We consider each individual row at a time; calculate the average brightness value for that row based on the brightness values of all the pixels in that row. We then use this average value to binarise that row. We then proceed to the next row and so on. In this way we binarise the whole image.
For the second part of the assignment, we make a window of user defined size around the centre pixel under consideration, calculate the average value for all the pixels in this window and then binarise that centre pixel using this average value as the threshold value. We continue this procedure till we binarise the whole image.
For the pixels towards the edges of the image, we check for the number of pixels preceding the centre pixel. If this number is less than half the window size, we modify our code accordingly to take care so that we calculate the average value for that centre pixel.
Input Image File
Row x Row Average
Window Method
For the window method, we can select different window sizes based on the sharpness required in the resultant image. We can select as low as 2x2 window size which gives us a much sharper image as compared to higher values.
We
...
...