Common Image Processing Tools
Image Thresholding
The simplest method of segmenting a gray-scale image
is to threshold it. By selecting a certain value, and
setting all pixel values below it to one (white), and
all pixel values above it to zero (black), we get
a binary image. From the histogram we see
that the pixel values of the characters are usually below 80.
We'll first try to threshold the image with a low value
to minimize the background noise: [figure X5] is thresholded
with value 65. The writing is unreadable.
Using a larger value, 80, suggested by the histogram [figure X4],
we have [figure X6]. The writing is quite readable,
with some of the background still left. Parts of the
last character are missing, so we'll try yet another
threshold value, 100, and end up with [figure X7]. Here,
the last character is easier to identify, but the first
characters are beginning to disappeaar into the background.
If the background could be separated from the writing
with a certain grey scale value, image thresholding would
be the only method needed for processing the images.
Of all our digitized images, none of them could perfectly
be segmented using thresholding; there were always
parts of characters missing, or background blurred
the characters. But for a properly chosen threshold value,
the writing was quite readable.
The best threshold value changes from an image to another.
It is also dependent of location, because some parts of the
text are darker or lighter than others. So, the larger the
image, the harder it is to choose a globally acceptable
threshold value. A good estimate can easily be found by
examining histograms (or single pixel values) of areas
inside characters and choosing an upper boundary appropriately.
The best value can be quickly found manually,
because the process is very quick. Because the writing
does not show up in a global histogram, it is hard to
find a way for automatic selection of a good threshold value.
One could estimate a ratio between the number of character
pixels and background pixels in an average image, and
use it to select a cutoff point, for the first approximation.
Figure 32:
Sample image, thresholded at 65.
Figure 33:
Sample image, thresholded at 80.
Figure 34:
Sample image, thresholded at 100.
Histogram Modification
One of the best ways to improve contrast without loosing
much information and too many grey levels is to use histogram-
modification. This technique re-maps the original grey levels
to anothers according to a mapping function.
One can re-map the grey levels very quickly by a
statistically optimal algorithm (equalization) or
manually. Many image processing programs,
like Adobe Photoshop ©, have very easy to use tools
available for this. If the mapping function is
monotonically increasing, the order of pixel values
is preserved, and the process is purely contrast-modifying.
The automatic histogram equalization
method stretches the grey levels of a given image
so that it is as equally possible for any given pixel
to be of any gray scale value; i.e. the number of pixels belonging
to any grey level is equal.
The histogram mapping function is typically presented as a
curve, original greyscale values on x-axis and their mapped
values on y-axis. The grey levels at the area of interest,
in this case the grey levels of characters, can be
dynamically separated from other areas by applying a steep
mapping curve to that area.
The method is very good in enhancing contrast. Figures [X8] show
the test figure [X5] optimally equalized [X8a],
and the new, stretched histogram [X8b].
A manually adjusted version can be seen in [figure X10a]
with resulting histogram [X10c].
Figure 35a:
Sample image, histogram equalized.
Figure 35b:
Histogram of sample image after equalization (compare to pic. X3).
Figure 36a:
Sample image, manually equalized.
Figure 36b:
Histogram of sample image after manual histogram modification.
Edge Detection
Edge detection algorithms search for rapid changes
of pixel values. These operators are typically
different kinds of first or second order derivatives.
Results of several differential operators can bee seen in
figures [37] (horizontal derivative), [38] (vertical derivative),
[39] (sum of horizontal and vertical derivatives) and
[40] (the square environment derivative).
These images are histogram-equalized, because resulting
values of these operators are typically very low,
and the images therefore very dark. The edges
of the characters are visible, but unluckily
the background noise is too. The cyclic error
of the scanner's 4th bit that causes peaks every
16 grey levels might show up when applying these algorithms.
Figure 37:
Horizontal derivative of the sample image (histogram equalized).
Figure 38:
Vertical derivative of the sample image (histogram equalized).
Figure 39:
Sum of X-and Y-derivatives of the sample image (histogram equalized).
Figure 40:
Square-environment derivative of the sample image (histogram equalized).
Noise Reduction
Noise in a grayscale image is usually understood
as single pixels or very small areas containing very different
grayscale values from their environment. Averaging
is probably the most basic noise reduction method.
One can choose, say, a 5x5 pixel matrix, calculate the
average of all the 25 pixels, and set the value of
the middle pixel to that [figure X].
The averaged image is blurry, and, especially,
sharp edges are lost.
One can modify the algorithm by setting a threshold to
it, so that the value of the middle pixel is changed
only when its value is very different from the average,
or use the average with weighting factor. The shape of the matrix
can also be varied from square to, say, hexagonal, or a cross.
A better way to reduce noise is by using order-based
statistical filters such as the median filter.
These filters, or algorithms, arrange the grayscale values
of a chosen area in increasing order, and set one of
these values to the current pixel value. Basic median filter
chooses the middle value. These filters can be biased
to select some other value or the pixels involved can be
weighted. Figure [X] shows the test image median-filtered
with a 5x5 matrix.
Figure 41:
Sample image, averaged with 5x5 matrix.
Figure 42:
Sample image, median filtered with 5x5 matrix.
Deviation Method
Suppose that the writing on a papyrus covers the structural
features of the carbonized papyrus surface, and that the writing
is nearly equally colored with less disturbances than the
background. In that case, we could distinguish the writing
with a filter that detects the deviation or variance of a
chosen area. The deviation inside a character shuld be small,
and large outside. Also, the edges of the characters would
be enhanced, because there the deviation would be quite large.
[Figure X] shows the deviation of the
sample image using an 7x7 matrix. The edges are enhanced,
but the deviation inside and outside the characters seems
to be equally small, so that it cannot really be used
to distinguish the writing from the background. The
enhancement of the edges, howewer, is good. The variance
(7x7 pixels) is shown in [figure 43].
Figure 43:
Deviation of sample image
Figure 44:
Variance of sample image
Papyrus Structure Elimination
The papyrus sheet is made from horizontal and vertical papyrus
stripes. These stripes, and the cell structure, can be seen
in any piece of papyrus, and also in our carbonized fragments.
Vertical and horizontal lines can be detected, for example,
by comparing a line to the average of its left-and right-hand
square environments and searching for a large difference.
If the width of these lines vary much, simple line detectors
are not so efficient. We tried to reduce the vertical structure
by calculating the averages of pixel values of each vertical line,
and then subtracting these averages from the original image.
Many of the disturbing lines were removed, and the original
figure wasn't otherwise altered too much [figure X]
(the slope of vertical lines was estimated and accounted for).
The removal of the structure is indeed very discreet;
all small details remain, and it may even be difficult
to spot the differences to the original picture. As a test,
we asked several people to spot the differences between
the original and the image from which vertical structure was
eliminated; none of them found the differences. This means,
on the one hand, that the removal didn't alter too much the
pictures, but on the other, that the readability was not so
much improved. Most of the visible background structure is local,
so that the removal of averaged lines really removes only
the longest and straightest ones.
The papyrus background structure is not always purely vertical
and horizontal. In our sample picture, for example, the vertical
lines are tilted about 6 ° (one pixel to the right every
10 pixels). A simple algorithm for detecting
the direction of axes could compare successive lines,
testing them by shifting the previous line horizontally
by -1, 0, or 1 pixels, and choosing the shift as the
one wich causes least difference to the current line
(in least square error sense, for example).
The average slope would be the average of all the shifts.
Some rules should be applied to the process to prevent it
from too strong deviations. One could apply momentum, for
example, to keep the changes of the shifts small.
There is also other ways to find the major axes of a
picture, like correlation.
The problems with this kind of structure elimination are
related to the way the averages are calculated, and
to the structure itself. If characters or large parts of
them are tilted along the structural lines, they may affect
the calculation of the average and be also reduced from the
pictures. Also, some of the structural lines are not continuous,
and can be short compared to the size of the characters,
so that they cannot effectively be reduced using this algorithm.
Figure 45:
The original sample image.
Figure 46:
Sample image, vertical structure eliminated.
Figure 47:
Sample image, horizontal structure eliminated.
Figure 48:
Sample image, horizontal and vertical structures eliminated (in
this order).
FFT Filters
Fourier transformation allows us to handle the pictures
in frequency domain insteadt of spatial domain. The simplest
Fourier filters are low-pass and high-pass filters,
which filter out high or low frequencies (rapid changes
in pixel values or average values). A notch filter
cancels only certain frequencies. The effect of a low-
pass filter is blurring, noise-reducting. The high-pass
filter cancels the overall grey values, emphasizing edges
and noise. Proper filters in frequency domain could reduce
the vertical and horizontal lines and enhance edges of
characters. The drawback of filters using Fourier
transformations is the need for very complex and slow
calculations. Further experiments are encouraged.
Miscellaneous Viewing
There are many different simple viewing tools along with these
filters. Many new views to the images can be found by
histogram (or color map) manipulation. The grey level map
can be reversed to turn the pictures to their negatives,
it can be rotated, pseudo-coloured, or multiplied. Every
method may give some new information, so that one should
not count any of them out.
Back to Image Processing
Back to Contents
Next: Filter Combinations
Antti Nurminen, 34044T, andy@cs.hut.fi
laplacian (F(x,y)=dx ²+dy²), [figure X] - sobel.