Top Banner
Lecture 19 Color Image Processing
72

L19-20_ColorImageProcessing

Dec 10, 2015

Download

Documents

Bandi Sumanth

Image Processing
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: L19-20_ColorImageProcessing

Lecture 19

Color Image Processing

Page 2: L19-20_ColorImageProcessing

Preview

• Why use color in image processing?

– Color is a powerful descriptor

• Object identification and extraction

• e.g., Face detection using skin colors

– Humans can discern thousands of color shades and intensities

• c.f. Human discern only two dozen shades of grays

Page 3: L19-20_ColorImageProcessing

Preview

• 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

Page 4: L19-20_ColorImageProcessing

Color fundamentals

• Physical phenomenon – Physical nature of color is known (1666, Isaac Newton)

• Chromatic light span the electromagnetic spectrum (EM) from 400

to 700 nm

• Physiopsychological phenomenon

– How human brain perceive and interpret color?

Page 5: L19-20_ColorImageProcessing

Color fundamentals

• The color that human perceive in an object = the light reflected from the object

Illumination source scene

reflection eye

Page 6: L19-20_ColorImageProcessing

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

Page 7: L19-20_ColorImageProcessing

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%

Page 8: L19-20_ColorImageProcessing
Page 9: L19-20_ColorImageProcessing

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

Page 10: L19-20_ColorImageProcessing
Page 11: L19-20_ColorImageProcessing

Application of additive nature of light colors

• Color TV

Page 12: L19-20_ColorImageProcessing

Application of additive nature of light colors

• Color TV

Page 13: L19-20_ColorImageProcessing

CIE XYZ model

• RGB -> CIE XYZ model

• Normalized tristimulus values

ZYX

Xx

ZYX

Yy

ZYX

Zz

B

G

R

Z

Y

X

939.0130.0020.0

071.0707.0222.0

178.0342.0431.0

=> x+y+z=1. Thus, x, y (chromaticity coordinate) is

enough to describe all colors

Page 14: L19-20_ColorImageProcessing
Page 15: L19-20_ColorImageProcessing

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

Page 16: L19-20_ColorImageProcessing

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

• CYM model

• CYMK model

• HSI model

Suitable for hardware or

applications

- match the human description

Page 17: L19-20_ColorImageProcessing

RGB color model

Page 18: L19-20_ColorImageProcessing

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)

Page 19: L19-20_ColorImageProcessing

Application of additive nature of light colors

• Color TV

Page 20: L19-20_ColorImageProcessing

Safe RGB colors

• Subset of colors is enough for some application

• Safe RGB colors (safe Web colors, safe browser colors)

(6)3 = 216

Page 21: L19-20_ColorImageProcessing

Safe RGB color

Page 22: L19-20_ColorImageProcessing

Safe RGB color

Safe color cube Full color cube

Page 23: L19-20_ColorImageProcessing

RGB color model

Page 24: L19-20_ColorImageProcessing

CMY model (+Black = CMYK)

• CMY: secondary colors of light, or primary colors of pigments

• Used to generate hardcopy output

B

G

R

Y

M

C

1

1

1

Page 25: L19-20_ColorImageProcessing

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

Page 26: L19-20_ColorImageProcessing

HSI color model

• 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 grey levels.

• The human eye perceives about 100 levels.

Page 27: L19-20_ColorImageProcessing

HSI color model

• RGB -> HSI model

Intensity

line

saturation

Colors on this triangle

Have the same hue

Page 28: L19-20_ColorImageProcessing

HSI model: hue and saturation

Page 29: L19-20_ColorImageProcessing

HSI model

Page 30: L19-20_ColorImageProcessing

RGB to HSI

1

1/2

;

360 ;

1[( ) ( )]

2{ }2

31 [ ( , , )]

( )

( )

3

cos[ ( )( )]( )

B GH

B G

R G R B

S MIN R G BR G B

R G BI

R B G BR G

Page 31: L19-20_ColorImageProcessing

HSI to RGB

(1 )

cos[1 ]

cos(60 )

3 ( )

B I S

S HR I

H

G I R B

RG Sector

(0H<120):

120

(1 )

cos[1 ]

cos(60 )

3 ( )

H H

R I S

S HG I

H

B I R G

GB Sector

(120H<240):

240

(1 )

cos[1 ]

cos(60 )

3 ( )

H H

G I S

S HB I

H

R I B G

BR Sector

(240H<360):

Page 32: L19-20_ColorImageProcessing
Page 33: L19-20_ColorImageProcessing

HSI component images

R,G,B Hue

saturation intensity

Page 34: L19-20_ColorImageProcessing
Page 35: L19-20_ColorImageProcessing

Example 1

Color Image

Hue Saturation Luminance

Page 36: L19-20_ColorImageProcessing

Example 2

Color Image

Hue Saturation Luminance

Page 37: L19-20_ColorImageProcessing

Color 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, ...

HSV

IHS

HSI

HLS

triangle • Yet there are many such spaces

described in books.

• How does one choose which one

to use?

Page 38: L19-20_ColorImageProcessing
Page 39: L19-20_ColorImageProcessing

Lecture 20

Color Image Processing

Page 40: L19-20_ColorImageProcessing

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

Page 41: L19-20_ColorImageProcessing

Intensity slicing

• 3-D view of intensity image

Image plane

Color 1

Color 2

Page 42: L19-20_ColorImageProcessing

Intensity slicing

• Alternative representation of intensity slicing

Page 43: L19-20_ColorImageProcessing

Application 1

X-ray image of a weld

Page 44: L19-20_ColorImageProcessing

Intensity slicing

• More slicing plane, more colors

Page 45: L19-20_ColorImageProcessing

Application 2

8 color regions Radiation test pattern

* See the gradual gray-level changes

Page 46: L19-20_ColorImageProcessing

Gray level to color transformation

Page 47: L19-20_ColorImageProcessing

Application 1

Page 48: L19-20_ColorImageProcessing

Combine several monochrome images

Example: multi-spectral images

Page 49: L19-20_ColorImageProcessing

Rainfall statistics

Page 50: L19-20_ColorImageProcessing

R G

B

Near

Infrared

(sensitive

to biomass)

R+G+B near-infrared+G+B

Washington D.C.

Page 51: L19-20_ColorImageProcessing
Page 52: L19-20_ColorImageProcessing

Color pixel

• A pixel at (x,y) is a vector in the color space

– RGB color space

),(

),(

),(

),(

yxB

yxG

yxR

yxc

c.f. gray-scale image

f(x,y) = I(x,y)

Page 53: L19-20_ColorImageProcessing

Example: spatial mask

Page 54: L19-20_ColorImageProcessing

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

Page 55: L19-20_ColorImageProcessing

Two spatial processing categories

• Similar to gray scale processing studied before, we have to major categories

• Pixel-wise processing

• Neighborhood processing

Page 56: L19-20_ColorImageProcessing

Color transformation

• Similar to gray scale transformation

– g(x,y)=T[f(x,y)]

• Color transformation

nirrrTs nii ,...,2,1 , ),...,,( 21

g(x,y) f(x,y)

s1

s2

sn

f1

f2

fn

T1

T2

Tn

Page 57: L19-20_ColorImageProcessing

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

Page 58: L19-20_ColorImageProcessing
Page 59: L19-20_ColorImageProcessing

Example: modify intensity of a color image

• Example: g(x,y)=k f(x,y), 0<k<1 • HSI color space

– Intensity: s3 = k r3

– Note: transform to HSI requires complex operations

• RGB color space – For each R,G,B component: si = k ri

• CMY color space – For each C,M,Y component: – si = k ri +(1-k)

Page 60: L19-20_ColorImageProcessing

I H,S

Page 61: L19-20_ColorImageProcessing
Page 62: L19-20_ColorImageProcessing

Implementation of color slicing

• Recall the pseudo-color intensity slicing

1-D intensity

Page 63: L19-20_ColorImageProcessing

Implementation of color slicing

• How to take a region of colors of interest?

prototype color

Sphere region

prototype color

Cube region

Page 64: L19-20_ColorImageProcessing

Application

cube sphere

Page 65: L19-20_ColorImageProcessing

Color image smoothing

• Neighborhood processing

Page 66: L19-20_ColorImageProcessing

Color image smoothing: averaging mask

xySyx

yxK

yx),(

),(1

),( cc

Neighborhood

Centered at (x,y)

xy

xy

xy

Syx

Syx

Syx

yxBK

yxGK

yxRK

yx

),(

),(

),(

),(1

),(1

),(1

),(c

vector processing

per-component processing

Page 67: L19-20_ColorImageProcessing

original R

G B

H S

I

Page 68: L19-20_ColorImageProcessing

Example: 5x5 smoothing mask

RGB model

Smooth I

in HSI model difference

Page 69: L19-20_ColorImageProcessing

Example: Image Sharpening

Page 70: L19-20_ColorImageProcessing

Lighting conditions

• The lighting conditions of the scene have a large effect on the colours recorded.

Image taken lit by a flash. Image taken lit by a

tungsten lamp.

Page 71: L19-20_ColorImageProcessing

Lighting conditions

• The following four images of the same scene were acquired under different lighting conditions.

Page 72: L19-20_ColorImageProcessing

Dealing with Lighting Changes

• Knowing just the RGB values is not enough to know everything about the image. – The R, G and B primaries used by different devices are usually

different.

• For scientific work, the camera and lighting should be calibrated.

• For multimedia applications, this is more difficult to organise: – Algorithms exist for estimating the illumination colour.