0% found this document useful (0 votes)
3K views

Digital Image Processing 03 Image Enhancement in Spatial Domain

This document provides an overview of image enhancement techniques in the spatial domain. It discusses point processing methods like basic gray-level transformations including linear, logarithmic, and power-law functions. These transformations map input pixel values to output values to enhance images for specific applications. The document also outlines a lecture on image enhancement, covering topics like point and neighborhood processing, and working in the spatial versus frequency domains.

Uploaded by

suzukigirl
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3K views

Digital Image Processing 03 Image Enhancement in Spatial Domain

This document provides an overview of image enhancement techniques in the spatial domain. It discusses point processing methods like basic gray-level transformations including linear, logarithmic, and power-law functions. These transformations map input pixel values to output values to enhance images for specific applications. The document also outlines a lecture on image enhancement, covering topics like point and neighborhood processing, and working in the spatial versus frequency domains.

Uploaded by

suzukigirl
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 57

TDI2131 Digital Image Processing

Image Enhancement in Spatial


Domain
Lecture 3

John See
Faculty of Information Technology
Multimedia University

Some portions of content adapted from Zhu Liu, AT&T Labs. Most figures from Gonzalez/Woods 1
Lecture Outline
● Introduction
● Point Processing
● Basic Gray Level Transformation Functions
● Piecewise-Linear Transformation Functions
● Histogram Processing – Histogram Equalization

2
Some Announcements
● Consultation Hours: Thursdays, 2-6pm
● Some of you have very poor attendance (as I'm beginning
to see it...) -- I will NOT hesitate to bar you.
● Please get a copy of Matlab installed – so that you can work
on your tutorial exercises and coming assignments.

3
What is Image Enhancement?

4
Image Enhancement
● Images are obtained from various sensor outputs
● Sometimes, they are NOT suitable for use in
applications, e.g. Mars Probe Images, X-ray images
● Image Enhancement – A set of image processing
operations applied on images to produce good
images useful for a specific application.

5
Principle Objective of Enhancement
● Process an image so that the result will be more
suitable than the original image for a specific
application
● The suitability depends on each specific application
– A method useful for enhancing a certain image may not
necessarily be the best approach for enhancing other
types of images

6
What is a good, suitable image?
● For human visual
– The visual evaluation of image quality is a highly subjective process
– Hard to standardize the definition of a good image
● For machine perception
– The evaluation task is staightforward
– A good image is one which gives the best machine recognition
results
● A certain amount of trial and error usually is required before
a particular image enhancement approach is selected

7
2 Domains
● Spatial Domain (image plane)
– Techniques are based on direct manipulation of pixels in
an image
● Frequency Domain
– Tehniques are based on modifying the spectral transform
(in our course, we'll use Fourier transform) of an image
● There are some enhancement techniques based on
various combinations of methods from these 2
domains
8
3 Types of Processing
● Any image processing operation transforms the gray values of
the pixels
● Divided into 3 classes based on the information required to
perform the transformation
– Point processing – Gray values change without any knowledge
of its surroundings
– Neighborhood processing – Gray values change depending on
the gray values in a small neighborhood of pixels around the
given pixel
– Transforms – Gray values are represented in a different
domain, but equivalent form, e.g. Fourier, wavelet
9
Spatial Domain
● Procedures that operate
directly on pixels
g(x, y) = T[ f(x, y) ]
– where
● f(x, y) is the input image
● g(x, y) is the processed image
● T is the operator on f defined
over some neighborhood of (x, y)

10
Mask/Filter
● Neighborhood of a point (x,y)
can be defined by using a
square/rectangular (commonly
(x,y) used) or circular sub-image area
• centered at (x,y)
● The center of the sub-image is
moved from pixel to pixel
starting from the top corner of
the processed image
● To be covered in next lecture!

11
Point Processing
● Neighborhood = 1x1 pixel
● g depends on only the value of f at (x, y)
● T = gray level (or intensity or mapping) transformation
function
s = T(r)
where
r = gray level of f(x, y)
s = gray level of g(x, y)

12
Arithmetic Operations
● These operations act by applying a simple
arithmetic function s = T(r) to each gray level in
the image
● T is a function that maps r to s.
● Addition, subtraction, scaling (multiplication &
division), complement, etc.

13
Arithmetic Operations

14
Image Subtraction
● The difference between two images f(x,y) and h(x,y),
g(x,y) = f(x,y) – h(x,y)
– is obtained by computing the difference between all pairs of
corresponding pixels
● Usefulness: Enhancement of differences between images

15
Basic Gray-level Transformation
Functions
● Linear function
– Negative and identity
transformations
● Logarithm function
– Log and inverse-log
transformations
● Power-law function
– nth power and nth root
transformations
16
Identity Function
● Output intensities are
identical to input
intensities
● What “goes in”, “comes
out” the same

17
Negative Transformation
● For an image with gray levels
in the range [0, L-1]
where L = 2n, n = 1, 2, ...
● Negative transformation:
s=L–1–r
● Reversing the intensity levels
of an image

18
Negative Transformation
● Suitable for enhancing white or gray detail embedded in dark
regions of an image, especially when the black area is
dominant in size

19
Log Transformation
s = c log(1+r)
● c is a constant and r ≥ 0
● Log curve maps a narrow
range of low gray levels in the
input image into a wider
range of output levels
– Expand the values of dark
pixels
– Compress higher value lighter
pixels

20
Log Transformations
● Compresses the dynamic range of images with large
variations in pixel values
● E.g. Image with dynamic range – Fourier spectrum image (to
be discussed in Lecture 5)
– Intensity range from 0 to 106 or higher
● We can't see the significant degree of detail as it will be lost
in the display (remember: our human eyes have limitations!)

21
Log Transformations on Spectrum
Images
● Log transformations bring up the details that are not visible
due to large dynamic range of values

Fourier Spectrum with Result after applying log


range: 0 to 1.5 x 106 transformation with
c=1, range: 0 to 6.2 22
Inverse Log Transformations
● Do the opposite of Log Transformations
● Used to expand the higher value pixels in an image while
compressing darker-level values

23
Power-Law Transformation
s = crγ
● c and γ are positive constants
● Power-law curves with
fractional values of γ map a
narrow range of dark input
values into a wider range of
output value, with the
opposite being true for higher
values of input levels
● c = γ = 1, results in the
identity function 24
Gamma Correction
● CRT devices have a power
function, with γ varying
from 1.8 to 2.5
● Macintosh (1.8), PC (2.5)
● The picture appears darker
● Gamma correction is done
by preprocessing the
image before inputting it
to the monitor with
s = cr1/γ
25
Application: MRI of Human Spine
● Problem: Picture is too dark
● Solution: Expansion of lower
gray levels is desirable, γ < 1
● γ = 0.6 (insufficient)
● γ = 0.4 (best result)
● γ = 0.3 (contrast lacking)

26
Decreasing Gamma?
● When γ is reduced too much, the image begins to reduce
contrast to the point where the image starts to have a
“wash-out” look, especially in the background

27
Application: Aerial Imagery
● Problem: Image has “wash-
out” appearance
● Solution: Compression of
higher gray levels is desirable,
γ>1
● γ = 3.0 (suitable)
● γ = 4.0 (suitable)
● γ = 5.0 (high contrast, some
finer details are lost)

28
Piecewise-Linear Transformation
Functions
● Advantage
– The form of piecewise functions can be arbitrarily complex
– Some important transformations can be formulated only
as piecewise functions
● Disadvantage
– Specification requires considerably more user input

29
Contrast Stretching
● Produce higher contrast than the original by
– Darkening the levels below m in the original image
– Brightening the levels above m in the original
– Thresholding: produce a binary image

30
Linear Stretching
● Enhance the dynamic range by linear stretching the
original gray levels to the range of 0 to 255
● Example
– The original gray levels are [100, 150]
– The target gray levels are [0, 255]
– The transformation function
g(f) = (f – s1)/(s2 – s1)*(t2 – t1) + t1
g(f) = ((f – 100)/50)*255 + 0, for 100 ≤ f ≤ 150

31
Illustration of Linear Stretching

32
Piecewise Linear Stretching
● K segments
– Starting position of input {fk, k = 0, ... K-1}
– Starting position of output {gk, k = 0, ... K-1}
– Transform function

33
Application: Contrast Stretching
● Problem: Low contrast image,
result of poor illumination,
lack of dynamic range
● Solution: Contrast stretching
using the given
transformation function
(bottom left)
● Result of thresholding
(bottom right)

34
Gray-level Slicing
● Highlighting a specific range
of gray levels in an image
– Display high value for gray
levels in the range of interest
and low value for all other gray
levels
● (left) Highlights range [A,B]
and reduces all others to a
constant level
● (right) Highlights range [A,B]
but preserves all other levels
35
Bit-plane Slicing

● Highlighting the contribution made to total image


appearance by specific bits
● Assume each pixel is represented by 8 bits
● Higher-order bits contain the majority of the visually
significant data – Useful for analyzing relative importance
played by each bit
36
Example: Slicing Fractals
● The (binary) image for bit-
plane 7 can be obtained by
processing the input image
with a thresholding gray-level
transformation
– Map all levels between 0 and
127 to 0
– Map all levels between 128 and
255 to 255

An 8-bit fractal image

37
Example: Slicing Fractals

Bit-plane 7 Bit-plane 6

Bit- Bit- Bit-


plane 5 plane 4 plane 3

Bit- Bit- Bit-


plane 2 plane 1 plane 0

38
How to Enhance Contrast?
● We know that Contrast Stretching is one particular technique

● Low contrast – image values concentrated in a narrow range


● Contrast enhancement – change the image value distribution to
cover a wide range
● Contrast of an image can be revealed by its histogram

39
Image Histogram
● Histogram of a digital image with gray levels in the
range [0, L-1] is a discrete function
h(rk) = nk
where
– rk : the kth gray level
– nk : the number of pixels in the image having gray level rk
– h(rk) : histogram of a digital image with gray levels rk

40
Normalized Histogram
● Dividing each of histogram at gray level rk by the total
number of pixels in the image, n
p(rk) = nk/n
for k = 0, 1, ... , L-1
● p(rk) gives the estimate of the probability of occurrence of
gray level rk
● The sum of all components of a normalized histogram is
equal to 1

41
Histogram Processing
● Basic for numerous spatial domain processing techniques
● Used effectively for image enhancement
● Information inherent in histograms is also useful in image
compression and segmentation

42
Histogram & Image Contrast
● Dark Image
– Components of histogram
are concentrated on the
low side of the gray scale
● Bright Image
– Components of histogram
are concentrated on the
high side of the gray scale

43
Histogram & Image Contrast
● Low-contrast Image
– Histogram is narrow and
centred towards the middle
of the gray scale
● High-contrast Image
– Histogram covers a broad
range of the gray scale and
the distribution of pixels is
not too far from uniform,
with very few vertical lines
being much higher than
others
44
Histogram & Image Contrast

45
Different Images with Same Histogram!

46
Correcting the Pouting Child

47
Histogram Equalization
● Histogram EQUALization
– Aim: To “equalize” the histogram, to “flatten”, “distrubute as
uniform as possible”
● As the low-contrast image's histogram is narrow and
centred towards the middle of the gray scale, by
distributing the histogram to a wider range will improve the
quality of the image
● Adjust probability density function of the original histogram
so that the probabilities spread equally

48
Histogram Transformation
s = T(r)
● Where 0 ≤ r ≤ 1
● T(r) satisfies
a) T(r) is single-valued and
monotonically increasingly in
the interval 0 ≤ r ≤ 1
b) 0 ≤ T(r) ≤ 1 for 0 ≤ r ≤ 1
● Single-valued guarantees that
the inverse transformation will
exist
49
Histogram Equalization
● Transforms an image with an arbitrary histogram to one
with a flat histogram
● Suppose f has PDF, pF(f), 0 ≤ f ≤ 1
● Transform function (continuous version)
● g is uniformly distributed in (0, 1)

50
Discrete Implementation
● For a discrete image f which takes values k = 0, ... , K-1, use

● To convert the transformed values to the range of (0, L-1):

51
Example: Discrete Implementation

52
Histogram Specification (Matching)
● What if the desired histogram is not flat?

53
A Global Method?
● So far, would you consider Histogram Processing
(and the other transformations covered so far) as a
global method?
● Global: The pixels are modified by a transformation
function based on the gray-level content of an entire
image

54
Local Histogram Equalization
● Dealing with things locally

55
Next week...
● Spatial Filtering (Neighborhood Processing)
– Taking into consideration information from neighboring
pixels

56
Recommended Readings
nd
● Digital Image Processing (2 Edition), Gonzalez &
Woods,
– Chapter 3:
● 3.1 – 3.3 (Week 3)
● 3.4 (Extra)
● 3.5 – 3.8 (Week 4)

57

You might also like