Digital Image Processing
Chapter 6:
Color Image Processing
Spectrum of White Light
1666 Sir Isaac Newton, 24 year old, discovered white light spectrum.
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Electromagnetic Spectrum
Visible light wavelength: from around 400 to 700 nm
1. For an achromatic (monochrome) light source,
there is only 1 attribute to describe the quality: intensity
2.For a chromatic light source, there are 3 attributes to describe
the quality:
Radiance = total amount of energy flow from a light source (Watts)
Luminance = amount of energy received by an observer (lumens)
Brightness = intensity
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Sensitivity of Cones in the Human Eye
7millions cones
in a human eye
- 65% sensitive to Red light
- 33% sensitive to Green light
- 2 % sensitive to Blue light
Primary colors:
Defined CIE in 1931
Red = 700 nm
Green = 546.1nm
Blue = 435.8 nm
CIE = Commission Internationale de l’Eclairage
(The International Commission on Illumination) (Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Primary and Secondary Colors
Primary and Secondary Colors (cont.)
Additive primary colors: RGB
use in the case of light sources
such as color monitors
RGB add together to get white
Subtractive primary colors: CMY
use in the case of pigments in
printing devices
White subtracted by CMY to get
Black
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Matching Theory
• Young’s observation
– Any uniform color can be matched by projecting three different
light sources onto a screen
• In the 1920’s, an international effort on the part of a
number of physicists let to the CIE standard color theory
• The effort attempted to simplify and standardize
• There have been many refinements, but the basic theory
still stands
• Theory useful for matching pigments (all paint stores have
spectrophotometers) and design of color media systems
7
Color Characterization
Hue: dominant color corresponding to a dominant
wavelength of mixture light wave
Saturation: Relative purity or amount of white light mixed
with a hue (inversely proportional to amount of white
light added)
Brightness: Intensity
Hue
Chromaticity
Saturation
amount of red (X), green (Y) and blue (Z) to form any particular
color is called tristimulus.
Tristimulus Values
I () — spectal energy distribution of a source
X, Y , Z — tristimulus values of the source
700
X= 400
x()I ()d
700
Y= 400
y( )I ( )d
700
Z= 400
z ()I ()d
Chromaticities - trichromatic coefficients
X
x=
X+Y+Z
Y
y=
X+Y+Z
Z
z=
X+Y+Z
x + y + z =1
9
CIE Chromaticity Diagram
Trichromatic coefficients:
X
x=
X+Y+Z
Y
y=
X+Y+Z
y Z
z=
X+Y+Z
x + y + z =1
Points on the boundary are
fully saturated colors
x (Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Gamut of Color Monitors and Printing Devices
Color Monitors
Printing devices
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
RGB Color Model
Purpose of color models: to facilitate the specification of colors in
some standard
RGB color models:
- based on cartesian
coordinate system
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
RGB Color Cube
RGB Color Model (cont.)
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Safe RGB Colors
Safe RGB colors: a subset of RGB colors.
There are 216 colors common in most operating systems.
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
RGB Safe-color Cube
The RGB Cube is divided into
6 intervals on each axis to achieve
the total 63 = 216 common colors.
However, for 8 bit color
representation, there are the total
256 colors. Therefore, the remaining
40 colors are left to OS.
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
CMY and CMYK Color Models
C = Cyan
M = Magenta
Y = Yellow
K = Black
HSI Color Model
RGB, CMY models are not good for human interpreting
HSI Color model:
Hue: Dominant color
Color carrying
Saturation: Relative purity (inversely proportional information
to amount of white light added)
Intensity: Brightness
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Relationship Between RGB and HSI Color Models
RGB HSI
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Hue and Saturation on Color Planes
1. A dot is the plane is an arbitrary color
2. Hue is an angle from a red axis.
3. Saturation is a distance to the point.
HSI Color Model (cont.)
Intensity is given by a position on the vertical axis.
HSI Color Model
Intensity is given by a position on the vertical axis.
Example: HSI Components of RGB Cube
RGB Cube
Hue Saturation Intensity
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Converting Colors from RGB to HSI
Converting Colors from HSI to RGB
Example: HSI Components of RGB Colors
Example: Manipulating HSI Components
Color Image Processing
There are 2 types of color image processes
1. Pseudocolor image process: Assigning colors to gray
values based on a specific criterion. Gray scale images to be processed
may be a single image or multiple images such as multispectral images
2. Full color image process: The process to manipulate real
color images such as color photographs.
Pseudocolor Image Processing
Pseudo color = false color : In some case there is no “color” concept
for a gray scale image but we can assign “false” colors to an image.
Why we need to assign colors to gray scale image?
Answer: Human can distinguish different colors better than different
shades of gray.
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Intensity Slicing or Density Slicing
Formula:
C1 if f (x, y) T C1 = Color No. 1
g( x, y) = C2 = Color No. 2
C2 if f (x, y) T
Color
T C2
C1
0 T L-1
Intensity
A gray scale image viewed as a 3D surface.
Intensity Slicing Example
An X-ray image of a weld with cracks
After assigning a yellow color to pixels with
value 255 and a blue color to all other pixels.
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Multi Level Intensity Slicing
g( x, y) = Ck for lk−1 f (x, y) lk
Ck = Color No. k
lk = Threshold levelk
Color
Ck
Ck-1
C3
C2
C
1
0 l1 l2 l3 lk-1 lk
L-1
Intensity
Multi Level Intensity Slicing Example
An X-ray image of the Picker After density slicing into 8 colors
Thyroid Phantom.
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Coding Example
Gray Level to Color Transformation
Assigning colors to gray levels based on specific mapping functions
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Gray Level to Color Transformation Example
An X-ray image An X-ray image of a
of a garment bag garment bag with a
simulated explosive
device
(Images from Rafael C.
Gonzalez and Richard
E. Wood, Digital Image
Processing, 2nd Edition. Transformations
Color
coded
images
Gray Level to Color Transformation Example
An X-ray image An X-ray image of a
of a garment bag garment bag with a
simulated explosive
device
Transformations (Images from Rafael C.
Gonzalez and Richard
E. Wood, Digital Image
Processing, 2nd Edition.
Color
coded
images
Pseudocolor Coding
Used in the case where there are many monochrome images such as multispectral
satellite images.
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Pseudocolor Coding Example
Visible blue Visible green
= 0.45-0.52 m = 0.52-0.60 m
Max water penetration Measuring plant Color composite images
Pseudocolor Coding Example
Psuedocolor rendition
of Jupiter moon Io
Yellow areas = older sulfur deposits.
Red areas = material ejected from
active volcanoes.
A close-up
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Basics of Full-Color Image Processing
2 Methods:
1. Per-color-component processing: process each component separately.
2. Vector processing: treat each pixel as a vector to be processed.
Example of per-color-component processing: smoothing an image
By smoothing each RGB component separately.
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Example: Full-Color Image and Variouis Color Space Components
Color image
CMYK components
RGB components
HSI components
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Transformation
Use to transform colors to colors.
Formulation:
g( x, y) = T f (x, y)
f(x,y) = input color image, g(x,y) = output color image
T = operation on f over a spatial neighborhood of (x,y)
When only data at one pixel is used in the transformation, we
can express the transformation as:
Where ri = color component of f(x,y) For RGB images, n = 3
si = color component of g(x,y)
Example: Color Transformation
Formula for RGB:
sR (x, y) = krR (x, y)
sG (x, y) = krG (x, y)
sB (x, y) = krB (x, y)
Formula for HSI: k = 0.7
sI (x, y) = krI (x, y)
Formula for CMY: I H,S
These 3 transformations give
the same results.
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Complements
Color complement replaces each color with its opposite color in the
color circle of the Hue component. This operation is analogous to
image negative in a gray scale image.
Color circle
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Complement Transformation Example
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Slicing Transformation
We can perform “slicing” in color space: if the color of each pixel
is far from a desired color more than threshold distance, we set that
color to some specific color such as gray, otherwise we keep the
original color unchanged.
Color Slicing Transformation Example
After color slicing
Original image
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Tonal Correction Examples
In these examples, only
brightness and contrast are
adjusted while keeping color
unchanged.
This can be done by
using the same transformation
for all RGB components.
Contrast enhancement
Power law transformations
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Balancing Correction Examples
Color imbalance: primary color components in white area
are not balance. We can measure these components by
using a color spectrometer.
Color balancing can be
performed by adjusting
color components separately
as seen in this slide.
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Histogram Equalization of a Full-Color Image
❖Histogram equalization of a color image can be performed by
adjusting color intensity uniformly while leaving color unchanged.
❖The HSI model is suitable for histogram equalization where only
Intensity (I) component is equalized.
k
sk = T (rk ) = pr (rj )
j=0
k nj
=
j=0 N
where r and s are intensity components of input and output color image.
Histogram Equalization of a Full-Color Image
Color Image Smoothing
2 Methods:
1. Per-color-plane method: for RGB, CMY color models
Smooth each color plane using moving averaging and
the combine back to RGB
2. Smooth only Intensity component of a HSI image while leaving
H and S unmodified.
Note: 2 methods are not equivalent.
Color Image Smoothing Example (cont.)
Color image Red
Green Blue
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Image Smoothing Example (cont.)
Color image
HSI Components
Hue Saturation Intensity
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Image Smoothing Example (cont.)
Smooth all RGB components Smooth only I component of HSI
(faster)
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Image Smoothing Example (cont.)
Difference between
smoothed results from 2
methods in the previous
slide.
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Image Sharpening
We can do in the same manner as color image smoothing:
1. Per-color-plane method for RGB,CMY images
2. Sharpening only I component of a HSI image
Color Image Sharpening Example (cont.)
Difference between
sharpened results from 2
methods in the previous
slide.
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Segmentation
2 Methods:
1. Segmented in HSI color space:
A thresholding function based on color information in H and S
Components. We rarely use I component for color image
segmentation.
2. Segmentation in RGB vector space:
A thresholding function based on distance in a color vector space.
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Color Segmentation in HSI Color Space
Color image Hue
1 2
3 4
Saturation Intensity (Images from Rafael C.
Gonzalez and Richard E.
Wood, Digital Image
Processing, 2nd Edition.
Color Segmentation in HSI Color Space (cont.)
Color Segmentation in HSI Color Space (cont.)
Color image Segmented results of red pixels
(Images from Rafael C.
Gonzalez and Richard E.
Wood, Digital Image
Processing, 2nd Edition.
Color Segmentation in RGB Vector Space
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
1.Each point with (R,G,B) coordinate in the vector space represents
one color.
2. Segmentation is based on distance thresholding in a vector space
cT = color to be segmented.
D(u,v) = distance function c(x,y) = RGB vector at pixel (x,y).
Example: Segmentation in RGB Vector Space
Color image
Reference color cT to be segmented
cT = average color of pixel in the box
Results of segmentation in
RGB vector space with Threshold
value
T = 1.25 times the SD of R,G,B values
In the box
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Gradient of a Color Image
Since gradient is defined only for a scalar image, there is no concept
of gradient for a color image. Compute gradient of each
color component and combine the results to get the gradient of a color
Image?
Red Green Blue We see
2 objects.
We see
4 objects.
Edges
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Gradient of a Color Image (cont.)
One way to compute the maximum rate of change of a color image
which is close to the meaning of gradient is to use the following
formula: Gradient computed in RGB color space:
Gradient of a Color Image Example
Gradient of a Color Image Example
Red Green Blue
Gradients of each color component
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Noise in Color Images
Noise can corrupt each color component independently.
Noise in Color Images
(Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Noise in Color Images
Hue
Color Image Compression
Original image
JPEG2000 File
After lossy compression with ratio 230:1 (Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.
Transformation of random variables
Y = g( X )
FY ( y0 ) = P(Y y0 ) = P[ X x0 ] = FX (x0 )
y0 x0
0
fY ( y)dy= f X (x)dx
0
−1
−1 dg ( y)
fY ( y) = f X (g ( y))
dy
dx
fY ( y) = f X (x)
dy