Colour Image Processing
Colour Image Processing
Allan Hanbury
• Introduction
• Processing Vectorial Images
• Alternative Colour Spaces
• 3D-polar Coordinate Colour Spaces
• Processing and Analysing Colour Images
Contents
• Introduction
• Processing Vectorial Images
• Alternative Colour Spaces
• 3D-polar Coordinate Colour Spaces
• Processing and Analysing Colour Images
Physical Background
From http://fuse.pha.jhu.edu/~wpb/spectroscopy/basics.html
From http://math.ucr.edu/home/baez/physics/General/BlueSky/blue_sky.html
• It is therefore possible to characterise a psycho-visual
colour by specifying the amounts of three primary
colours: red, green and blue, mixed together.
• This leads to the standard RGB space used in
television, computer monitors, etc.
• We specify the levels of R, G and B in the range [0, 1],
but they can easily be extended to other ranges (8-bit
integers for example).
(1,1,1)
RGB
(0,0,0)
Problems with Processing Colour Images
• Introduction
• Processing Vectorial Images
• Alternative Colour Spaces
• 3D-polar Coordinate Colour Spaces
• Processing and Analysing Colour Images
Processing Vectorial Images
• A vectorial image has a vector at each pixel. For
colour images, these vectors each have 3 components.
• Vectorial images with larger numbers of components
also exist, e.g. in satellite imagery.
• There are two ways one can process vectorial images:
– Marginal processing.
– Vectorial processing.
Greyscale
Colour
Red Red
Scalar process.
Green Green
Scalar process.
Blue Blue
Scalar process.
Vectorial Processing
Red Red
False
Colours !!
Marginal
Median
Vectorial
Median
The Problem of False Colours
Marginal R 100
median V 100
B 0
R 100 R0 R 100
V 0 V 100 V 100
B 0 B 0 B 100
R0
Vectorial V 100
median
B0
Contents
• Introduction
• Processing Vectorial Images
• Alternative Colour Spaces
• 3D-polar Coordinate Colour Spaces
• Processing and Analysing Colour Images
Alternative Colour Spaces
Red Red
Processing
Green Green
T T-1
Blue Blue
Colour spaces
• RGB (CIE), RnGnBn (TV - National Television Standard Comittee)
• XYZ (CIE)
• UVW (UCS de la CIE), U*V*W* (UCS modified by the CIE)
• YUV, YIQ, YCbCr
• YDbDr
• DSH, HSV, HLS, IHS
• Munsel colour space (cylindrical representation)
• CIELuv
• CIELab
• SMPTE-C RGB
• YES (Xerox)
• Kodak Photo CD, YCC, YPbPr, ...
Contents
• Introduction
• Processing Vectorial Images
• Alternative Colour Spaces
• 3D-polar Coordinate Colour Spaces
• Processing and Analysing Colour Images
3D-polar Coordinate Colour Spaces
• These spaces use a cylindrical (3D-polar) coordinate system to
encode the following three psycho-visual coordinates:
– Hue (dominant colour seen)
• Wavelength of the pure colour observed in the signal.
• Distinguishes red, yellow, green, etc.
• More the 400 hues can be seen by the human eye.
– Saturation (degree of dilution)
• Inverse of the quantity of “white” present in the signal. A pure colour has
100% saturation, the white and grey have 0% saturation.
• Distinguishes red from pink, marine blue from royal blue, etc.
• About 20 saturation levels are visible per hue.
– Brightness
• Amount of light emitted.
• Distinguishes the greylevels.
• The human eye perceives about 100 levels.
3D-polar Coordinate Colour Spaces
• The transformation of the RGB colour space to a hue, saturation
and brightness colour space is essentially a conversion from a
set of rectangular coordinates to a set of (3D-polar) cylindrical
coordinates.
Achromatic axis
ic
at
Hue
is om
[1,1,1]
ax ch r
H
A
[0,0,0] Saturatio
n Brightness
Basic Problem Achromatic
axis
• Many of the spaces were originally developed for
easy numerical specification of colours in computer
Conic HSV
graphics applications.
• Due to its brightness function, the “natural” shape
of the HSV colour gamut is a cone.
• However, with this shape, there are many
coordinates which are not valid. H=180° H=0°
• In order to avoid costly verification of the validity
of specified coordinates, these gamuts were often
artificially expanded into cylinders.
• These cylindrical spaces have often been
unwittingly carried over into image processing
applications.
Cylindrical HSV
Standard RGB → HSV Transform
• max = sup(R, G, B) min = inf(R, G, B)
• L = max
• max min
if max 0
S max
0 otherwise
•
maxG Bmin if R max
BR
H t max min 2 if G max
R
maxt mint
4 if B max
G
• If Ht
•
Conic HLS
• The same problem occurs for the
HLS transformation.
• Here the double cone has been H=180° H=0°
Cylindrical HLS
Standard RGB → HLS Transform
• max = sup(R, G, B) min = inf(R, G, B)
•
L max min
2
R, G and B are between 0 and 1.
• max min
if L 1
max min 2
Sc
max min
2 max min if L 1
2
•
GB
max min if R max
H BR
t
• If Ht tmax 2 if
t
min
G max
R G
4 if B max
max min
•
Removal of the Brightness
Dependence of the Saturation (1)
• HSV model
maxR, G, B min R, G , B
if maxR, G, B 0
S HSV maxR, G, B
0 otherwise
maxR, G, B minR, G, B
LHLS
2
• The brightness dependence is removed by using
S NC
HLS
S HLS 1 2 12 LHLS
• to give
S NC
HLS maxR, G, B min R, G, B
Com
par
e to
Or your own
Y 0.2126R 0.7152G 0.0722B favourite
brightness
expression.
S maxR, G, B minR, G, B
R 12 G 12 B
H arccos
R 2 G 2 B 2 RG RB BG 2
1
Trigonometric
version is more
accurate. 360 H if B G
H
H otherwise
Contents
• Introduction
• Processing Vectorial Images
• Alternative Colour Spaces
• 3D-polar Coordinate Colour Spaces
• Processing and Analysing Colour Images
Processing and Analysing Colour Images
G
Change of representation
S
H
L
S
H
Change of representation
B
R
G
Processing the Hue Component
n=3
Mean
• Given n values of the hue Hi
• The mean direction H is calculated as follows:
n n (1)
A cos H i , B sin H i , R A2 B 2 2
i 1 i 1
arctan BA if B 0, A(2) 0
H arctan BA if A0
arctan B 2 if B 0, A 0
• R is: A
The mean length
(3)
R
R
n
Hue Mean which Takes the
Saturation Into Account
• The previous formulation is standard in the texts on circular
statistics, but it ignores the fact that not all hues have the same
importance.
• We take this into account by weighting the length of each hue
vector by the associated saturation value.
n=3
• Let Si be the saturation associated with hue Hi.
• We replace equation (1) by:
n n
AS Si cos H i , BS Si sin H i , RS2 AS2 BS2
• To calculate
i 1 the saturation-weightedi mean
1 direction HS, we replace A and B by
AS and BS in equation (2).
• Equation (3) becomes:
RS
R
S
• Note that RS remains a measure
of the
n angular dispersion, and does not give
S
information on the mean of the saturation.
i 1 i
Example
• H = 327°
Colour Image
• R = 0.24
Weighted
• HS = 20°
Hue threshold
• R = 0.16
S 307° - 347°
Hue histogram
Hue
histogram
Mathematical Morphology in a
3D-Polar Coordinate Colour Space
• One can easily order the brightness and saturation
1 1
values.
• On the other hand, the hue is defined on the circle, for
which there is no obvious order (blue larger than red?,
green smaller than red? ).
• Applying morphological operators to the brightness and 0 0
Aardvark
Abacus
Abandon
.
.
.
Borough
Bough
.
.
Lexicographical Order for Vectors
• For example, given two vectors x = (x1, x2, x3) and y = (y1, y2, y3):
x1 y1
or
x y if x1 y1 and x2 y 2
or
x1 y1 and x2 y 2 and x3 y3
• and
Li L j
or
ci c j if Li L j and Si S j
or
Li L j and Si S j and H i H 0 H j H 0
Lexicographical Order with
Brightness at the Top Level (2)
Opening
Erosion
top level
Closing
Dilation
Original Image
(293 418)
SE: Square of
size 5 5
Lexicographical Order with
Saturation at the Top Level
• We define
S i S j
or
ci c j if S i S j and Li L j
or
S i S j and Li L j and H i H 0 H j H 0
• and
Si S j
or
ci c j if S i S j and Li L j
or
S i S j and Li L j and H i H 0 H j H 0
Example
Saturation at the
Opening
Erosion
top level
Closing
Dilation
Original image
(293 418)
SE: Square of
size 5 5
Colour Top-Hat
– Closing top-hat: E I , I
Original Image Saturation
Example