Color Image Processing
Jen-Chang Liu, Spring 2006
For a long time I limited myself to one color
– as a form of discipline.
Pablo Picasso
It is only after years of preparation that the
young artist should touch color – not color
used descriptively, that is, but as a means of
personal expression.
Henri Matisse
Preview
Why use color in image processing?
Color is a powerful descriptor
Object identification and extraction
eg. Face detection using skin colors
Humans can discern thousands of color shades and
intensities
c.f. Human discern only two dozen shades of grays
Preview (cont.)
Two category of color image processing
Full color processing
Images are acquired from full-color sensor or
equipments
Pseudo-color processing
In the past decade, color sensors and processing
hardware are not available
Colors are assigned to a range of monochrome
intensities
Outline
Color fundamentals
Color models
Pseudo-color image processing
Basics of full-color image processing
Color transformations
Smoothing and sharpening
Color fundamentals
Physical phenomenon
Physical nature of color is known
Psysio-psychological phenomenon
How human brain perceive and interpret color?
Color fundamentals (cont.)
1666, Isaac Newton 三稜鏡
Visible light
Chromatic light span the electromagnetic
spectrum (EM) from 400 to 700 nm
Color fundamentals (cont.)
The color that human perceive in an object
= the light reflected from the object
scene
Illumination source
reflection
eye
Physical quantities to describe
a chromatic light source
Radiance: total amount of energy that flow from
the light source, measured in watts (W)
Luminance: amount of energy an observer
perceives from a light source, measured in
lumens (lm 流明 )
Far infrared light: high radiance, but 0 luminance
Brightness: subjective descriptor that is hard to
measure, similar to the achromatic notion of
intensity
How human eyes sense light?
6~7M Cones are the sensors in the eye
3 principal sensing categories in eyes
Red light 65%, green light 33%, and blue
light 2%
Primary and secondary colors
In 1931, CIE(International Commission on
Illumination) defines specific wavelength
values to the primary colors
B = 435.8 nm, G = 546.1 nm, R = 700 nm
However, we know that no single color may be
called red, green, or blue
Secondary colors: G+B=Cyan, R+G=Yellow,
R+B=Magenta
Primary colors of light v.s.
primary colors of pigments
Primary color of pigments
Color that subtracts or absorbs a primary color
of light and reflects or transmits the other two
Color of light: R G B
Color of pigments: absorb R absorb G absorb B
Cyan Magenta Yellow
Application of additive nature
of light colors
Color TV
CIE XYZ model
RGB -> CIE XYZ model
X 0.431 0.342 0.178 R
Y 0.222 0.707 0.071 G
Z 0.020 0.130 0.939 B
Normalized tristimulus values
X Y Z
x y z
X Y Z X Y Z X Y Z
=> x+y+z=1. Thus, x, y (chromaticity coordinate) is
enough to describe all colors
色度圖
By additivity of colors:
Any color inside the
triangle can be produced
by combinations of the
three initial colors
RGB gamut of
monitors
Color gamut of
printers
Outline
Color fundamentals
Color models
Pseudo-color image processing
Basics of full-color image processing
Color transformations
Smoothing and sharpening
Color models
Color model, color space, color system
Specify colors in a standard way
A coordinate system that each color is
represented by a single point
RGB model
Suitable for hardware or
CYM model applications
CYMK model
HSI model - match the human description
RGB color model
Pixel depth
Pixel depth: the number of bits used to
represent each pixel in RGB space
Full-color image: 24-bit RGB color image
(R, G, B) = (8 bits, 8 bits, 8 bits)
Safe RGB colors
Subset of colors is enough for some
application
Safe RGB colors (safe Web colors, safe
browser colors)
(6)3 = 216
Safe RGB color (cont.)
Full color cube Safe color cube
CMY model (+Black = CMYK)
CMY: secondary colors of light, or primary
colors of pigments
Used to generate hardcopy output
C 1 R
M 1 G
Y 1 B
HSI color model
Will you describe a color using its R, G, B
components?
Human describe a color by its hue,
saturation, and brightness
Hue 色度 : color attribute
Saturation: purity of color (white->0, primary
color->1)
Brightness: achromatic notion of intensity
HSI color model (cont.)
RGB -> HSI model Colors on this triangle
Have the same hue
Intensity
line
saturation
HSI model: hue and saturation
HSI model
RGB to HSI
HSI to RGB
HSI to RGB
HSI to RGB
HSI component images
R,G,B Hue
intensity
saturation
Outline
Color fundamentals
Color models
Pseudo-color image processing
Basics of full-color image processing
Color transformations
Smoothing and sharpening
Pseudo-color image
processing
Assign colors to gray values based on a
specified criterion
For human visualization and interpretation
of gray-scale events
Intensity slicing
Gray level to color transformations
Intensity slicing
3-D view of intensity image
Color 1
Color 2
Image plane
Intensity slicing (cont.)
Alternative representation of intensity slicing
Intensity slicing (cont.)
More slicing plane, more colors
Application 1
Radiation test pattern 8 color regions
* See the gradual gray-level changes
Application 2
X-ray image of a weld
焊接物
Application 3
Rainfall statistics
Gray level to color
transformation
Intensity slicing: piecewise linear
transformation
General Gray level to color transformation
Gray level to color
transformation
Application 1
Combine several monochrome
images
Example: multi-spectral images
Washington D.C.
R G
Near
Infrared
B (sensitive
to biomass)
R+G+B near-infrared+G+B
Outline
Color fundamentals
Color models
Pseudo-color image processing
Basics of full-color image processing
Color transformations
Smoothing and sharpening
Color pixel
A pixel at (x,y) is a vector in the color space
RGB color space
R ( x, y )
c( x, y ) G ( x, y )
B ( x, y )
c.f. gray-scale image
f(x,y) = I(x,y)
Example: spatial mask
How to deal with color vector?
Per-color-component processing
Process each color component
Vector-based processing
Process the color vector of each pixel
When can the above methods be equivalent?
Process can be applied to both scalars and
vectors
Operation on each component of a vector
must be independent of the other component
Two spatial processing
categories
Similar to gray scale processing studied
before, we have to major categories
Pixel-wise processing
Neighborhood processing
Outline
Color fundamentals
Color models
Pseudo-color image processing
Basics of full-color image processing
Color transformations
Smoothing and sharpening
Color transformation
Similar to gray scale transformation
g(x,y)=T[f(x,y)]
Color transformation
si Ti (r1 , r2 ,..., rn ) , i 1,2,..., n
g(x,y) f(x,y)
s1 T1 f1
s2 T2 f2
… … …
sn Tn fn
Use which color model in color
transformation?
RGB CMY(K) HSI
Theoretically, any transformation can be
performed in any color model
Practically, some operations are better
suited to specific color model
Example: modify intensity of a
color image
Example: g(x,y)=k f(x,y), 0<k<1
HSI color space
Intensity: s = k r
3 3
Note: transform to HSI requires complex
operations
RGB color space
For each R,G,B component: s = k r
i i
CMY color space
For each C,M,Y component:
s = k r +(1-k)
i i
I H,S
Problem of using Hue
component
dis-continuous
Un-defined
over gray
axis
Implementation of color
slicing
Recall the pseudo-color intensity slicing
1-D intensity
Implementation of color
slicing
How to take a region of colors of interest?
prototype color prototype color
Sphere region Cube region
Application
cube sphere
Outline
Color fundamentals
Color models
Pseudo-color image processing
Basics of full-color image processing
Color transformations
Smoothing and sharpening
Color image smoothing
Neighborhood processing
Color image smoothing:
averaging mask
1
c( x , y )
K
c( x , y )
( x , y )S xy
vector processing
Neighborhood
Centered at (x,y)
1
R ( x, y )
K ( x , y )S xy
1
c( x, y ) G ( x, y )
per-component processing
K ( x , y )S xy
1
K B ( x, y )
( x , y )S xy
original R
G G
Example: 5x5 smoothing mask
Smooth I
RGB model in HSI model difference