Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Module II

Download as pdf or txt
Download as pdf or txt
You are on page 1of 70

IMAGE ENHANCEMENT

Histogram Modification

 Histogram modification performs a function


similar to gray level mapping, but works by
considering histogram’s shape and spread
 Gray level histogram of an image is the
distribution of the gray levels in an image
 Examination of the histogram is one of the most
useful tools for image enhancement, as it makes
easy to see the modifications that may improve
an image
 The histogram can be modified by a mapping
function, which will stretch, shrink (compress),
or slide the histogram
 Histogram stretching and histogram shrinking
are forms of gray scale modification, sometimes
referred to as histogram scaling
 Histogram stretch
• The mapping function equation is as follows:

where: I(r,c)MAX is the largest gray level value in


the image I(r,c), I(r,c)MIN is the smallest gray
level value in I(r,c) and
MAX and MIN correspond to the maximum and
minimum gray level values possible (for an 8-bit
image these are 0 and 255)
• This equation will take an image and stretch the
histogram across the entire gray level range,
which has the effect of increasing the contrast of
a low contrast image
• If most of the pixel values in an image fall within
a small range, it is useful to allow a small
percentage of the pixel values to be clipped at
the low and high end of the range (for an 8-bit
image this means truncating at 0 and 255)
Histogram Stretching

b) Histogram of image (a)


a) Low-contrast image

d) Histogram of image after stretch


c) Image (a) after histogram stretch
Histogram Stretching with Clipping

a) Original image b) Histogram of original image c)Image after histogram stretching


with out clipping

d) Histogram of image (c) e) Image after histogram stretching with f) Histogram of image (e)
clipping 1% of the values at the high
and low ends
 Histogram shrink
 The mapping function equation is as follows:

where I(r,c)MAX is the largest gray level value in


the image I(r,c), I(r,c)MIN is the smallest gray
level value in I(r,c) and
ShrinkMAX and ShrinkMIN correspond to the
maximum and minimum desired in the
compressed histogram
• Decreases image contrast by compressing the
gray levels
• However this method may not be useful as an
image enhancement tool, but it is used in an
image sharpening algorithm (unsharp masking) as
a part of an enhancement technique
Histogram Shrinking

a) Original image b) Histogram of image

c) Image after shrinking the histogram d) Histogram of image (c)


to the range [75,175]
 Histogram slide
• Used to make an image either darker or lighter,
but retain the relationship between gray level
values
• Accomplished by simply adding or subtracting a
fixed number from all of the gray level values, as
follows:

where the OFFSET value is the amount to slide


the histogram
• In this equation we assume that any values slid
past the minimum and maximum values will be
clipped to the respective minimum or maximum
• A positive OFFSET value will increase the
overall brightness, while a negative OFFSET will
create a darker image
Histogram Slide

a) Resultant image from sliding the b) Histogram of image (a)


histogram down by 50

c) Resultant image from sliding the


d) Histogram of image (c)
histogram up by 50
 Histogram equalization
• A technique where the histogram of the resultant
image is as flat as possible
• The theoretical basis for histogram equalization
involves probability theory, where we treat the
histogram as the probability distribution of the
gray levels
• Its function is similar to that of a histogram
stretch but often provides more visually pleasing
results across a wider range of images
• Consists of four steps:
1. Find the running sum of the histogram
values
2. Normalize the values from step (1) by
dividing by the total number of pixels
3. Multiply the values from step (2) by the
maximum gray level value and round
4. Map the gray level values to the results
from step (3) using a one-to-one
correspondence
Example:
3-bits per pixel image – range is 0 to 7.
Given the following histogram:

Number of Pixels
Gray Level Value (Histogram values)
0 10
1 8
2 9
3 2
4 14
5 1
6 5
7 2
1) Create a running sum of the histogram values.
This means the first value is 10, the second is
10+8=18, next 10+8+9=27, and so on. Here we
get 10, 18, 27, 29, 43, 44, 49, 51
2) Normalize by dividing by the total number of
pixels. The total number of pixels is:
10+8+9+2+14+1+5+0 = 51 (note this is the last
number from step 1), so we get: 10/51, 18/51,
27/51, 29/51, 43/51, 44/51, 49/51, 51/51
3) Multiply these values by the maximum gray
level values, in this case 7, and then round the
result to the closest integer. After this is done we
obtain: 1, 2, 4, 4, 6, 6, 7, 7
4) Map the original values to the results from step
3 by a one-to-one correspondence. This is done
as follows:

Original Gray Histogram


Level Value Equalized Values
0 1
1 2
2 4
3 4
4 6
5 6
6 7
7 7
 All pixels in the original image with gray level 0
are set to 1, values of 1 are set to 2, 2 set to 4, 3
set to 4, and so on. After the histogram
equalization values are calculated and can be
implemented efficiently with a look-up-table
(LUT), as discussed in Chapter 2
 We can see the original histogram and the
resulting histogram equalized histogram in Fig.
8.2.14. Although the result is not flat, it is closer
to being flat than the original histogram
Histogram Equalization Examples

1.

Input image Resultant image after histogram equalization


Histogram Equalization Examples (contd)
2.

Input image Resultant image after histogram equalization

Note: As can be seen histogram equalization provides similar results


regardless of the input image
• Histogram equalization of a digital image will not
typically provide a histogram that is perfectly flat,
but it will make it as flat as possible
• Histogram equalization may not always provide
the desired effect, since its goal is fixed – to
distribute the gray level values as evenly as
possible. To allow for interactive histogram
manipulation, the ability to specify the histogram
is necessary
 Histogram specification

• Process of defining a histogram and modifying


the histogram of the original image to match the
histogram as specified

• Key concept is to picture the original image


being histogram equalized, and the specified
histogram being histogram equalized
a

b
• Histogram specification consists of following 5
steps:

1. Specify the desired histogram


2. Find the mapping table to histogram
equalize the image, Mapping Table 1,
3. Find the mapping table to histogram
equalize the values of the specified
histogram, Mapping Table 2
• Histogram specification steps (continued)

4. Use mapping Tables 1 & 2 to find the


mapping table to map the original values
to the histogram equalized values and
then to the specified histogram values
5. Use the table from step (4) to map the
original values to the specified histogram
values
EXAMPLE:
1) Specify the desired histogram:

Number of pixels
Gray Level Value in desired histogram
0 1
1 5
2 10
3 15
4 20
5 0
6 0
7 0
2) For this we will use the image and mapping table from
the previous example, where the histogram equalization
mapping table (Mapping Table 1) is given by:

Original Gray Level Value Histogram Equalized


level values-OS equalized values-HS

0 1
1 2
2 4
3 4
4 6
5 6
6 7
7 7
3) Find the histogram equalization mapping table
(Mapping Table 2) for the specified histogram:

Gray Level Histogram Equalized


Value - OS Values – HS .
0 round(1/51)*7 = 0
1 round(6/51)*7 = 1
2 round(16/51)*7 = 2
3 round(31/51)*7 = 4
4 round(51/51)*7 = 7
5 round(51/51)*7 = 7
6 round(51/51)*7 = 7
7 round(51/51)*7 = 7
4) Use Mapping Tables 1 and 2 to find the final mapping
table by mapping the values first to the histogram
equalized values and then to the specified histogram
values. (Mapping Table 2, columns switched to match Fig. 8.2.16 – slide 57)

Mapping Table 1 Mapping Table 2

O H HS OS M
0 1 0 0 1
1 2 1 1 2
2 4 2 2 3
3 4 4 3 3
4 6 7 4 4
5 6 7 5 4
6 7 7 6 4
7 7 7 7 4
5) Use the table from STEP 4 to perform the histogram
specification mapping. For this all we need are columns
O (or OS) and M:

O M
0 1
1 2
2 3
3 3
4 4
5 4
6 4
7 4

Now, all the 0’s get mapped to 1’s, the 1’s to 2’s, the 3’s
to 3’s and so on
• In practice, the desired histogram is often
specified by a continuous (possibly non-linear)
function, for example a sine or a log function.

• To obtain the numbers for the specified


histogram the function is sampled, the values
are normalized to 1, and then multiplied by the
total number of pixels in the image
Histogram Specification Examples

Original
image

Histogram
of
original
image
Histogram Specification Examples (contd)

Original histogram

Specified histogram, exp(0.015*x)


Output image and its histogram
Histogram Specification Examples (contd)

Original histogram

Specified histogram, log(0.5*x+2)


Output image and its histogram
IMAGE ENHANCEMENT

SPATIAL AVERAGING
Image Averaging
• A noisy image:

g ( x, y )  f ( x, y )  n ( x, y )

• Averaging K different noisy images:


M
1
g ( x, y ) 
K
 g ( x, y )
i 1
i
Image Averaging
• As K increases, the variability of the pixel
values at each location decreases.

– This means that g(x,y) approaches f(x,y) as the


number of noisy images used in the averaging
process increases.

• Registering(aligned) of the images is


necessary to avoid blurring in the output
image.
Image Enhancement in the
Spatial Domain
Smoothing Filters
• Median filtering (nonlinear)

– Used primarily for noise reduction (eliminates


isolated spikes)

– The gray level of each pixel is replaced by the


median of the gray levels in the neighborhood of
that pixel (instead of by the average as before).
Chapter 3
Image Enhancement in the
Spatial Domain
Median Filter

a) Image with added salt-and-pepper noise, b) After median filtering with a 3x3
the probability for salt = probability window,all the noise is not removed
for pepper = 0.10
Median Filter

c) After median filtering with a 5x5 window, all the noise is


removed, but the image is blurry acquiring the “painted”
effect
• The contra-harmonic mean filter works well for
images containing salt OR pepper type noise,
depending on the filter order, R:

• For negative values of R, it eliminates salt-type


noise, while for positive values of R, it eliminates
pepper-type noise
• The geometric mean filter works best with
Gaussian noise, and retains detail information
better than an arithmetic mean filter
• It is defined as the product of the pixel values
within the window, raised to the 1/(N*N) power:
• The harmonic mean filter fails with pepper
noise, but works well for salt noise
• It is defined as follows:

• This filter also works with Gaussian noise,


retaining detail information better than the
arithmetic mean filter
• The Yp mean filter is defined as follows:

• This filter removes salt noise for negative values


of P, and pepper noise for positive values of P
HOMOMORPHIC
FILTERING
• It simultaneously normalizes the brightness
across an image and increases contrast.
• Filtering is used to remove multiplicative noise

• Illumination and reflectance are not separable

• Illumination and reflectance combine


multiplicatively

• Components are made additive by taking the


logarithm of the image intensity
• Multiplicative components of the image can be separated linearly
in the frequency domain

• To make the illumination of an image more even, the high-


frequency components are increased and low-frequency
components are decreased

• High-frequency components are assumed to represent mostly the


reflectance in the scene (the amount of light reflected off the
object in the scene)

• Low-frequency components are assumed to represent mostly the


illumination in the scene

• High-pass filtering is used to suppress low frequencies and amplify


high frequencies, in the log-intensity domain
• The illumination component tends to vary slowly across
the image.

• The reflectance tends to vary rapidly, particularly at


junctions of dissimilar objects.

• Therefore, by applying a frequency domain filter of the


form we can reduce intensity variation across the
image while highlighting detail.
Homomorphic filtering: PET
example
Color
Image Enhancement
Enhancement of Color
Images
• Gray scale transforms and histogram
modification techniques can be applied by
treating a color image as three gray images

• Care must be taken in how this is done to


avoid color shifts
 Histogram modification can be performed on
color images, but doing it on each color band
separately can create relative color changes

 The relative color can be retained by applying


the gray scale modification technique to one of
the color bands, and then using the ratios from
the original image to find the other values
Histogram Equalization of Color Images

a) Original poor contrast image b) Histogram equalization based on


the red color band
Histogram Equalization of Color Images (contd)

c) Histogram equalization based on d) Histogram equalization based on


the green color band the blue color band

Note: In this case the red band gives the best results
This will depend on the image and the desired result
 Typically the most important color band is
selected, and this choice is very much
application-specific and will not always provide
us with the desired result

 Often, we really want to apply the gray scale


modification method to the image brightness
only, even with color images
 Histogram modification on color images can be
performed in the following ways:

• Retain the RGB ratios and perform the


modification on one band only, then use the
ratios to get the other two bands’ values, or
• Perform a color transform, such as HSL, do the
modification on the lightness (brightness band),
then do the inverse color transform

You might also like