Summary We have to develop an adaptive threshold ing system for grey scale image. The simplest way to use image 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 grey scale 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 threshold ing 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 threshold ing, 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 threshold ing 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 threshold ing. Firstly, we develop a method based on the local row average to bin arise 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 bin arise 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 bin arise that row. We then proceed to the next row and so on. In this way we bin arise 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 bin arise that centre pixel using this average value as the threshold value. We continue this procedure till we bin arise 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 2 x 2 window size which gives us a much sharper image as compared to higher values.
We see the effects of trying different window sizes. The first image is for 2 x 2 window size where we see the image is much sharper and we can extract maximum information from it. All the edges are well defined and we can observe every minute details of the image. As we go on increasing the window size, we see that the resultant image file has thicker edges as compared to the smaller window size. This is mainly because as we go on increasing the window size, we calculate the average value (threshold value) over an increased number of pixels resulting in a more generalised value as compared to that with smaller window sizes. We see that for a window size of 300, the resultant image is almost the same as the one with row average.
We can modify the code to have an uneven window size, say 2 x 16 or say 16 x 2. We see that for 2 x 16 window size, we have sharper edges along the vertical direction as compared to the horizontal edges. Similarly, for 16 x 2 window size, we have sharper edges along the horizontal direction as compared to the vertical edges. Conclusion Adaptive threshold ing system is designed to operate on a portion of the image while scanning the whole image file.
It uses local edge information to switch between global threshold ing and adaptive local threshold ing determined from the statistics of a local image window. Global threshold ing uses a fixed threshold to bin arise the whole image. This technique would not be effective for images where one part is brighter than the other. Adaptive image threshold ing calculates the threshold value based on the local statistics and then applying it to the image file. Thus we get more defined edges. As expected, adaptive threshold ing system outperforms fixed threshold ing because it adapts to local image properties.
By defining appropriate window sizes, we can extract maximum image information form the resultant image.