# Introduction to Digital Image Processing and Computer by umf86597

VIEWS: 144 PAGES: 57

• pg 1
```									        CSC464/564 - Fall 2009

Introduction to Digital
Image Processing and
Computer Vision - Part I
John M. Weiss, Ph.D.
Department of Mathematics and Computer Science
South Dakota School of Mines and Technology
Rapid City, SD 57701-3995, USA
John.Weiss@sdsmt.edu
What Is Image Processing?
Some Definitions…
An image can often be defined in
terms of a 2-D intensity function f(x,y)
A digital image has been discretized
in both space and intensity
Digital image processing involves the
display and manipulation of digital
image data. In general, both the input
and output are digital images.
Digital Image Formation

(Gonzalez & Woods, Digital Image Processing, 2002)
Why Study Image
Processing?
The human brain is “hard-wired” for rapid
processing of visual information.
Many important application areas: desktop
publishing, medical imaging, remote sensing,
scientific data visualization.
Compelling illustration of many fundamental
concepts in computer science and mathematics.
Digital photography is rapidly replacing film.
Image processing is fun!
Major Topic Areas in
Digital Image Processing
Image digitization and display
Image enhancement
Image restoration
Image encoding
Image analysis
Related Fields of Study

computer graphics = image synthesis
⇓
image processing = image manipulation
⇑
computer vision = image analysis
Image Digitization

A continuous image f(x,y) is digitized
in both space and intensity.
Digitization is similar to placing a
rectangular grid over the image, and
storing the average intensity value in
each grid element.
Grid elements are known as pixels.
Image Digitization

(Gonzalez & Woods, Digital Image Processing, 2002)
Sampling

Digitization in space is known as
sampling.
Spatial resolution of the digitized
image is determined by the grid
spacing (pixel size):
M rows * N columns → MN pixels
Spatial Artifacts

artifacts. In an extreme case, individual
pixels may be resolved, and the image
takes on a blocky, pixellated appearance.
Sampling theory relates spatial resolution
to pixel size. Inadequate sampling can
produce aliasing artifacts.
Digitization Artifacts:
Quantization

Intensity digitization is known as quantization,
and produces a set of discrete intensity levels.
Continuous image has continuous intensity
0 ≤ f(x,y) < ∞
Digital image has K discrete intensity levels
f(x,y) = 0, 1, 2, …, K-1
Intensity Artifacts

The human visual system is capable of
and thousands of different colors.
contouring artifacts in objects that
should show a smooth gradation of
intensity values.
Digitization Artifacts:
Human Visual System

Rods provide monochromatic vision in
low light conditions (nighttime).
Cones provide color vision under
conditions of high illumination
(daylight). There are three types of
cones, with peak sensitivity to
reddish-orange, greenish-yellow, and
blue wavelengths of visible light.
Human Color Visual Response

(Gonzalez & Woods, Digital Image Processing, 2002)
Binary, Gray, Color Images
1 bit per pixel yields a binary image with
21=2 intensity levels (black and white).
8 bits per pixel yields an image with 28=256
intensity levels (grayscale or color mapped
images). For medical applications, 12 bits
(4096 intensity levels) may be required.
24 bits per pixel yields an image with
224=16,777,216 intensity levels (true color).
Color Tristimulus Theory

Tristimulus theory of color vision:
a combination of three color primaries
(red, green, blue light) can produce
the same color sensation as any pure
monochromatic wavelength.
Color display hardware is typically
based upon the RGB color model.
RGB Color Components
RGB Color Components
Image Enhancement

Digital images may be enhanced in a
variety of ways:
Brightness
Contrast
Color
Sharpness and smoothness
Image geometry
Image Enhancement

Many image enhancement techniques
fall into the following categories:
Point processes
Neighborhood processes
Global processes
Point Processes

Point processes rely only on an
individual pixel value for input:
g(x,y) = T{ f(x,y) }
where T is a transformation function.
Brightness, contrast, and color
enhancements are typically point
processes.
Point Processes and LUTs

Point processes are most efficiently
implemented via lookup tables. This
allows a computation to be performed
once for each intensity (256 grayscale
values) rather than every pixel.
LUT values are displayed as a plot of
input vs. output intensity.
Default LUT Gray Scale
256

192

T(i) = i
output intensity

128

64

0
0   64        128          192   256
input intensity
Image Negation
256

192

T(i) = 255 - i
output intensity

128

64

0
0   64        128          192   256
input intensity
Image Negation
Brightness

Image brightness may be changed by
adding (to brighten) or subtracting (to
darken) a constant to every pixel.
Pixel values outside the allowed range
(e.g., 0-255 for an 8-bit grayscale
image) are usually clipped.
256

192

T(i) = i + 64
output intensity

128

64

0
0   64        128          192   256
input intensity
Brightness
Contrast

Image contrast may be increased or
decreased by a multiplicative factor
Typically, contrast enhancement is
implemented by applying a linear
ramp to pixel intensities via LUTs.
256

192

T(i) = 2 ∗ ( i – 64 )
output intensity

128

64

0
0   64         128           192   256
input inte ns ity
Contrast
Posterization

Posterization is a quantization technique
that reduces 256 gray levels to a much
smaller number (e.g., 4 or 8).
This produces false contouring artifacts,
which may be desirable for highlighting
image structures, or in graphics arts
applications.
8-Level Posterization
256

192
output intensity

128

64

0
0   64         128           192   256
input inte ns ity
Posterization
Binary Thresholding

In binary thresholding, all pixel values
below a specified intensity threshold are
set to black; pixel values above the
threshold are set to white.
Binary thresholding produces a binary
image (one bit per pixel). This is often the
first step in segmentation, connectivity,
and other image analysis approaches.
Binary Thresholding
256

192
output intensity

128

64

0
0   64         128           192   256
input inte ns ity

T(i) = 0 if i < threshold, 255 otherwise
Binary Thresholding
Pseudocolor

A grayscale image may be displayed in
color by assigning a 24-bit RGB color
value to each of the 256 grayscale
intensity values.
These color values may represent an
approximation to “true” color, or may be
arbitrary color choices.
Pseudocolor may be implemented by
storing color values in RGB LUTs.
Discrete Pseudocolor
Continuous Pseudocolor
Image Histograms

An image histogram is a frequency
distribution function, containing the
number of pixels at each intensity.
Enhancements based on image
histograms are typically point
processes. Contrast stretching and
histogram equalization are powerful
histogram-based enhancements.
Image Histograms
Image Histograms
Contrast Stretching
Automated form of contrast enhancement,
based upon the image histogram.
Transformation function is a linear ramp
between the minimum and maximum
values in the histogram:

× (i − imin )
255
T (i ) =
imax − imin
Contrast Stretching
Histogram Equalization
Goal is maximal global image contrast.
Equalized image approximates a flat
histogram, in which each intensity level is
equally likely (same number of pixels).
Transformation function is the cumulative
distribution function (CDF):
k
T (k ) = CDF (k ) = ∑ h(i )
i =0
Histogram Equalization
9000                                                                 100%

8000

7000
75%
6000

5000
50%
4000

3000
25%
2000

1000

0                                                                  0%
1      32     63     94     125    156     187    218   249

Blue = frequency distribution (histogram) in pixels
Red = cumulative frequency distribution (CDF) in percent
Histogram Equalization
Histogram Equalization
Color Image Processing

Color images are often represented using
the RGB color model.
Each 24-bit pixel consists of three 8-bit
color components (red, green, blue).
How do we process a color image?
Simple Approach to Color IP

For each pixel, process the RGB components
separately:
R’=T(R), G’=T(G), B’=T(B)
But most image processing techniques are
designed to operate on image intensity
(brightness) information, not color.
Since each component is processed
separately, this approach can lead to
undesirable processing artifacts (color shifts).
Color Histogram Equalization

RGB

IHS

YIQ
Better Approach to Color IP

The RGB color model is unsuitable for
color image processing.
Select a color model that separates
the intensity information from the
chromaticity (color).
Process the intensity component and
leave chromaticity unchanged.
Color Image Processing

Color image processing approach:
Convert from RGB: RGB → IC1C2
Process intensity: I’ = T(I)
Convert back to RGB: I’ C1C2 → R’G’B’
C1 and C2 represent chromaticity, and I
represents intensity. Only the intensity
component is processed. (Note that all three
RGB color components will generally change.)
Popular Color Models

RGB (red, green, blue) – standard additive color
model, used in most display systems
CMY(K) (cyan, magenta, yellow, black) – standard
subtractive color model, used in printing
YIQ (luminance, inphase, quadrature)* – NTSC