CHAPTER 6
COLOR IMAGE PROCESSING
CHAPTER 6: COLOR IMAGE PROCESSING
The use of color image processing is motivated by two
factors:
Color is a powerful descriptor that often simplifies object
identification and extraction from a scene.
Humans can discern thousands of color shades and intensities
(compared to ~only 2 dozen shades of gray!).
Two major areas:
Full-color processing: images are acquired with a full-color
sensor.
Pseudo-color processing: a color is assigned to a particular
monochrome intensity or range of intensities.
In the past, most digital image color processing was done
at the pseudo-color level.
Today, full-color image processing techniques are used in
a broad range of applications.
2
COLOR FUNDAMENTALS
Perception and interpretation of color is a
physiopsychological phenomenon that is not fully
understood.
Sir Isaac Newton discovery in 1666.
Color spectrum can be divided into 6 broad regions:
Violet, blue, green, yellow, orange, and red.
The colors that human perceive in an object are
determined by the nature of the light reflected from that
object.
Green objects reflect light with wavelengths in 500-570nm
while absorbing most of the energy at other wavelengths.
Characterization of light is central to the science of
color.
Achromatic light
Chromatic light
3
COLOR SPECTRUM
4
CHROMATIC LIGHT
Chromatic light spans the EM spectrum from 400nm to
700nm.
3 basic quantities to describe the quality of a chromatic light
source:
Radiance (W): total amount of energy that flows from the light
source.
Luminance (lm): the amount of energy an observer perceives
from a light source.
Brightness: a subjective descriptor that is impossible measure
in partice.
Example: light emitted from a source operating in the far
infrared region.
Radiance: significant!
Luminance: hardly perceived!
The cones are responsible for color vision.
65% are sensitive to red light.
33% are sensitive to green light.
2% are sensitive to blue light (blue cones are the most sensitive)
5
VISIBLE SPECTRUM
6
ABSORPTION OF LIGHT BY THE CONES
No single color may
be called red, green,
or blue.
7
PRIMARY AND SECONDARY COLORS OF LIGHT
Primary colors are
mixed to produce
secondary colors of
light (magenta, cyan,
yellow).
Secondary colors are
mixed to produce
primary colors of light
(red, green, blue).
8
COLOR TV
A color TV screen differs from a black-and-white
screen in three ways:
There are three electron beams that move
simultaneously across the screen. They are named
the red, green and blue beams.
The screen is not coated with a single sheet of
phosphor as in a black-and-white TV. Instead, the
screen is coated with red, green and blue
phosphors arranged in dots or stripes. If you turn
on your TV or computer monitor, and look closely
at the screen with a magnifying glass, you will be
able to see the dots or stripes.
On the inside of the tube, very close to the
phosphor coating, there is a thin metal screen
called a shadow mask. This mask is perforated with
very small holes that are aligned with the phosphor
dots (or stripes) on the screen.
When a color TV needs to create a red dot, it fires
the red beam at the red phosphor. Similarly for
green and blue dots.
To create a white dot, red, green and blue beams
are fired simultaneously -- the three colors mix
together to create white.
To create a black dot, all three beams are turned
off as they scan past the dot. All other colors on a
TV screen are combinations of red, green and
blue.
9
CIE CHROMATICITY DIAGRAM
A straight line
segment joining
any 2 points
defines all the
different color
variations that can
be obtained by
Any point within
mixing these 2
the diagram
colors additively.
represents some
mixture of
spectrum colors.
Points on the
boundary are
pure colors in
the visible Any color in the
spectrum. triangle can be
produced by
various
combinations of
the corner colors.
10
COLOR MODELS
A color model is a specification of colors in a standard
way.
A coordinate system and a subspace where each color is
represented by a single point.
Most color models are oriented toward hardware or
applications.
Hardware oriented models for DIP
RGB (red, green, blue) model for color monitors and color
video cameras
CMY (cyan, magenta, yellow) model for color printing
CMYK (cyan, magenta, yellow, black) model for color
printing
HSI (hue, saturation, intensity) model that corresponds to
the way humans describe and interpret color
11
RGB MODEL
Images represented
with the RGB color
model have 3
component images:
Red component
Green component
Blue component Each color is represented by a
point in or on the unit cube.
If 8 bits are used for
each pixel, we have
a 24-bit RGB image.
12
RGB 24-BIT COLOR CUBE
(28)3 = 16,777,216 colors
13
COLOR PLANES
A color image is
acquired using the
process in reverse
order.
R = 127
G = 0-255
B = 0-255
14
SAFE RGB COLORS
15
RBG SAFE-COLOR CUBE
Each surface has 36 colors: 6x36 = 216
16
CMY & CMYK COLOR MODELS
Secondary colors of light : Cyan, magenta, yellow
(primary colors of pigments)
Most devices (color printers, copiers, etc.) that deposit color pigments on
paper require CMY data input or perform an internal RGB to CMY
conversion.
RGB to CMY conversion (all color values are in the range [0,1]):
C 1 R light reflected from a surface coated with pure cyan does not contain red
M = 1 - G light reflected from a surface coated with pure magenta does not contain green
Y 1 B light reflected from a surface coated with pure yellow does not contain blue
Equal amounts of cyan, magenta, and yellow should produce black.
In practice, this combination produces muddy-looking black.
In order to produce true black, a fourth color is added to the model.
CMYK color model: cyan, magenta, yellow, and black
17
HSI COLOR MODEL
RBG and CMY are suitable for hardware implementations.
Unfortunately, they are not good for describing colors for
human interpretation.
One does not refer to the color of a car by giving the % of
each of the primaries!
Humans describe a color object by its hue, saturation, and
brightness.
Hue: a color attribute that describes a pure color.
Saturation: gives a measure of the degree to which pure color
is diluted by white light.
Brightness: a subjective descriptor that is practically
impossible to measure.
The HSI model decouples the intensity component from the
color-carrying information (hue & saturation).
18
CONCEPTUAL RELATIONSHIP BETWEEN RGB AND
HSI COLOR MODELS
In this plane segment, all the
points have the same hue but
different saturation and intensity.
This line is the (1,1,1)
intensity axis
joining black
and white
vertices.
The intensity
component of
this color As the planes moves up
point can be and down, the boundaries
determined defined by the
by passing a intersection of each plane
with the faces of the cube
plane (0,0,0) have either a triangular or
perpendicular hexagonal shape.
to the axis
and
containing
the point. Conclusion: H, S, and I values required to form the HSI
space can be obtained from the RGB cube.
19
HUE AND SATURATION IN THE HSI MODEL
View obtained by
looking at the
RBG cube down
its gray-scale It is not unusual to see
axis. HSI planes defined in
terms of a hexagon, a
triangle, or even a circle.
20
TRIANGULAR AND CIRCULAR COLOR PLANES
IN THE HSI MODEL
mid-point of the
vertical intensity axis
21
CONVERTING COLORS FROM RGB TO HSI
The RBG values have been normalized to the range [0,1].
if B G
1
( R G ) ( R B )
H with cos 1 2
1/ 2
360 if B > G
( R G ) ( R B)(G B )
2
Can be normalized
to the range [0,1] by
diving all the values
by 360.
3
S 1 [min( R, G, B)]
( R G B)
1
I ( R G B)
3
22
CONVERTING COLORS FROM HSI TO RGB
The HSI values are given in the interval [0,1].
The applicable equations depend on the values of H.
RG sector (00 H < 1200):
S cos H
B I (1 S ) R I 1 G 3I ( R B )
cos(60 H )
0
GB sector (1200 H < 2400): first subtract 1200 from it.
S cos H
R I (1 S ) G I 1 B 3I ( R G )
cos(60 H )
0
BR sector (2400 H 3600): first subtract 2400 from it.
S cos H
G I (1 S ) B I 1 R 3I (G B )
cos(60 H )
0
23
PSEUDO-COLOR IMAGE PROCESSING
Pseudo-color image processing: assignment of colors
to gray values based on a specified criterion.
The principal use of pseudo-color is for human
visualization and interpretation of gray-scale events in
images.
A principal motivation for using color is that humans can
discern thousands of color shades and intensities!
Intensity slicing and color coding is a simple example of
pseudo-color image processing.
The image is a 3-D function.
Planes parallel to the coordinate plane are used.
More general transformations achieve a wider range of
pseudo-color enhancement results.
24
INTENSITY SLICING
A different color is
assigned to each side of
the plane.
Algorithm:
[0,L-1]: gray-scale
L0: black
lL-1: white
P planes: l1,l2,…,lP
P planes partition the gray-
scale into P+1 intervals:
V1,V2,…,VP+1
Color assignments:
f(x,y) = ck if f(x,y) Vk
25
INTENSITY SLICING INTO 8 COLORS
A different color is assigned to each
region without regard for the
meaning of the gray levels in the
image.
26
INTENSITY SLICING INTO 2 COLORS
When there is a porosity or crack
in a weld, the full strength of the
X-rays going through the object
saturates the sensor on the other
side of the object.
Hence, gray levels of value 255 in
an 8-bit image coming from such
a system automatically imply a
problem with the weld!
If a human is the ultimate
judge in inspecting welds,
this simple color coding
would result in lower error
rates!
27
INTENSITY SLICING INTO 2 COLORS
Average monthly
rainfall over a
period of 3 years
Much
easier to
interpret
28
3 INDEPENDENT COLOR TRANSFORMATIONS
29
PSEUDO-COLOR ENHANCEMENT: AN EXAMPLE
Why do we have the same Why do we have the same
color for the explosives and color for the explosives and
background? garment bag?
30
COMBINATION OF SEVERAL MONOCHROME IMAGES
INTO A SINGLE COLOR COMPOSITE
31
3 MONOCHROME IMAGES ARE COMBINED
visible red
visible green
visible blue near infrared
First 3 images
are combined Red component was
into an RGB replaced with the
image infrared image
Note that the infrared band
is strongly responsive to
the biomass components in
a scene
32
COMBINING IMAGES FROM A SPACECRAFT
One way to
combine the
sensed image This image was
data is by how obtained by combining
they show several of the sensor
differences in images from the Galileo
surface chemical spacecraft.
composition.
Bright red
depicts material
newly ejected
from an active
volcano.
Surrounding
yellow materials
are older sulfur
deposits.
33
BASICS OF FULL-COLOR IMAGE PROCESSING
Two major categories of full-
color IP approaches
Example:
Each component image is
processed individually, and a Suppose the process is neighborhood
composite color image is averaging.
formed from the components.
Same result would be obtained using the
Color pixels (which are vectors) scalar and vector methods.
are directly processed.
Two conditions have to be
satisfied for per-color-
component and vector-based
processing to be equivalent.
The process has to be
applicable to both scalars and
vectors.
The operation on each
component of a vector must be
independent of the other
components.
34
COLOR TRANSFORMATIONS - FORMULATION
g(x,y) = T[f(x,y)]: pixels values are triplets or quartets.
si = Ti(r1,r2,…,rn):
si and ri: variables denoting the color components
{T1,T2,…,Tn}: set of transformation functions
For RGB color space, n=3.
For CMYK color space, n=4.
Example:
g(x,y)=kf(x,y), 0<k<1: intensity modification
Any color space can be used.
HSI color space: s3=kr3, s1=r1, s2=r2
RGB color space: si=kri, i=1,2,3
CMY color space: si=kri+(1-k), i=1,2,3
In this case, although the HSI transformation involves the
fewest # of operations, the computations required to convert
an RGB or CMY(K) image more than offsets the advantages!
35
COLOR-SPACE COMPONENTS OF A FULL-COLOR
IMAGE
CMYK
RGB
HSI
36
MODIFIED INTENSITY OF THE FULL-COLOR IMAGE
37
COLOR COMPLEMENTS
The hues directly opposite
one another on the color
circle are called
complements.
Complements are
analogous to gray-scale
negatives: they are useful
in enhancing detail
embedded in dark region of
a color image.
The RGB complement transformation functions
used here do not have a straightforward HSI color
space equivalent.
38
COLOR SLICING
Highlighting a specific range of colors in an image is useful for
separating objects from their surroundings.
The most straightforward approach is to extend the gray-level slicing
techniques.
si = Ti(r1,r2,…,rn): si is a function of all ri.
Colors of interest are enclosed by a cube:
0.5 if [|rj – aj| > W/2]any 1jn
si = i = 1,2,…,n
ri otherwise
Colors of interest are enclosed by a sphere:
0.5 if (rj – aj)2 > (R0)2
si = i = 1,2,…,n
ri otherwise
The width of the cube and the radius of the sphere were determined
interactively.
39
AN EXAMPLE OF COLOR SLICING
Edible parts of the strawberries are separated!
In each of the 2 cases below, a prototype red with RGB color
coordinate (0.6863,0.1608,0.1922) was selected from the most
prominent strawberry.
Reds within an Reds within an
RGB cube RGB sphere
40
HISTOGRAM PROCESSING
It is generally unwise to
histogram equalize the
components of a color
image independently.
This results in erroneous
color.
A more logical approach
is to spread the color
intensities uniformly,
leaving the colors
themselves (e.g., hues)
unchanged.
The HSI color space is
ideally suited to this
approach.
The intensity The saturation component is
component is increased after histogram
histogram equalized. equalization
41
COLOR IMAGE SMOOTHING
1
c ( x, y )
K
c ( x, y )
( x , y )S xy
1
K
R ( x, y )
( x , y )S xy
Smoothing by
neighborhood
1 averaging can be
c ( x, y ) K
G ( x, y ) carried out using
( x , y )S xy either individual color
planes or the RGB
1 color vectors.
K
B ( x, y )
( x , y )S xy
42
AN RGB IMAGE AND ITS COLOR PLANES
43
HSI PLANES
44
SMOOTHED IMAGES
By smoothing only the intensity plane,
the pixels in the smoothed image
maintain their original hue and
saturation – and their original color!
45
COLOR IMAGE SHARPENING
2 R( x, y)
The Laplacian of a full-
color image can be
2 [c( x, y)] 2G( x, y) obtained by computing
the Laplacian of each
component plane
separately.
2 B( x, y)
The Laplacian
46
SHARPENED IMAGES
Obtained by combining the Laplacian of the
intensity plane with the unmodified hue and
saturation planes.
47
COLOR SEGMENTATION IN HSI COLOR SPACE
Assume we want to segment an
image based on color, and to
carry out the process on
individual planes.
HSI space:
Hue plane conveniently
represents the color.
Saturation plane is used as a
masking image.
Intensity plane is seldom used
because it carries no color
information. The product
image is
thresholded
The binary mask is generated by with T = 0.9
thresholding the saturation plane
with T = 0.1x(maximum value in
the saturation plane).
48
COLOR SEGMENTATION IN RGB COLOR SPACE
RGB color vectors generally result in better segmentation results.
A set of sample points representative of the colors of interest is given.
Obtain an estimate of the average color that will be segmented.
Classify each pixel in the given image with according to the specified range.
One measure of similarity is the Euclidean distance:
D(z,a) = ||z-a|| = [(z-a)T(z-a)]1/2 = [(zR-aR)2 + (zG-aG)2 + (zB-
aB)2]1/2
D(z,a)D0 D(z,a)=[(z-a)TC-1(z-a)]1/2D0 Computationally much simpler!
49
AN EXAMPLE OF COLOR SEGMENTATION
IN RGB COLOR SPACE
Compute the mean vector a
using the points contained
within the rectangle.
Center the box at a.
Compute the standard
deviation of the R,G,B values
of the sample points.
Determine the dimension
along each axis by
computing 1.25xSD.
R: SD of red components
Dimension along the R-axis:
(aR – 1.25R) to (aR + 1.25R)
50
COLOR EDGE DETECTION
The gradient introduced in Chapter 3 is not defined for vector quantities.
So, computing the gradient on individual planes, and then using the
results to form a color image will lead to erroneous results.
We need to define the gradient for c(x,y) = [R(x,y) G(x,y) B(x,y)]T
A method has been proposed by Di Zenzo in 1986:
1 2 g xy
Direction of max rate of change: tan 1
2 ( g xx g yy )
1
1
Value the rate of change: F ( ) ( g xx g yy ) ( g xx g yy ) cos 2 2 g xy sin 2
2
2
51
AN EXAMPLE OF COLOR EDGE DETECTION
USING 2 APPROACHES
The edge
detail is
more
complete!
Both
approaches
yielded
reasonable
results. Is the
extra detail
worth the added
computational
burden of the
vector
approach?
52
COMPONENT GRADIENT IMAGES
53
NOISE IN COLOR IMAGES
The noise models discussed in Chapter 5 are applicable to color
images.
Gaussian noise
Rayleigh noise
Erlang noise
Exponential noise
Uniform noise
Impulse (salt and pepper) noise
Usually, the noise content of a color image has the same
characteristics in each color channel.
However, it is possible for color channels to be affected differently by
noise.
54
GAUSSIAN NOISE IN A COLOR IMAGE
Fine grain noise tends
to be less noticeable in
color images.
55
NOISY RGB IMAGE CONVERTED TO HSI
The degradation in hue and saturation planes is due to the
nonlinearity of cos and min operations!
The intensity
plane is
slightly
smoother than
any of the 3
RGB noisy
planes.
1
I ( R G B)
3
Compare
Image
averaging
reduces
random noise!
56
ONE NOISY RGB CHANNEL
AFFECTS ALL HSI PLANES
The noise spreads
from the green
channel to all the HSI
planes.
57
COLOR IMAGE COMPRESSION
Compression reduces
the amount of data
required to represent a
digital image.
The data that are the
object of any
compression are the
components of each
color pixel.
Compressed with
JPEG 2000.
The compressed
image contains
only 1 data bit for
every 230 bits of
data in the original
image.
58