0% found this document useful (0 votes)
45 views47 pages

Color Space

Uploaded by

20161241
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views47 pages

Color Space

Uploaded by

20161241
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 47

True Color: Component

Ordering
 Colors in 3 separate arrays of similar length
 Retrieve same location (u,v) in each R, G and B
array
True Color: Packed
Ordering
Component (RGB) values representing a pixel’s color
is packed together into single element
Indexed
 Images
Permit only limited number of distinct colors (N = 2 to
256)
 Used in illustrations or graphics containing large regions
with same color
 Instead of intensity values, image contains indices into
color table or palette
 Palette saved as part of image
 Converting from true color to indexed color
requires quantization
Color Images in
ImageJ
 ImageJ supports 2 types of color images
 RGB full‐color images (24‐bit “RGB color”),
 packed order
 Supports TIFF, BMP, JPEG, PNG and RAW file formats
 Indexed images (“8‐bit color”)
 Up to 256 colors max (8 bits)
 Supports GIF, PNG, BMP and TIFF (uncompressed) file
formats
 See section 12.1.2 of Burger & Burge
Color Image Conversion in
ImageJ
 Methods for converting between different types of color
and grayscale image objects
 Note: if doScaling is true, pixel values scaled to
maximum range of new image
General Strategies
for Processing Color
Images
 Strategy 1:
Process each RGB
matrix separately
General Strategies
for Processing Color
Images
 Strategy 2: Compute
luminance
(weighted average
of RGB), process
intensity matrix
RGB to HSV
Conversion
 Define the following
values

 Find saturation of RGB color components (Cmax=


255)

 And luminance
value
RGB to HSV
Conversion
 Normalize each component
using

 Calculate preliminary hue value H’


as

 Finally, obtain final hue value by normalizing to interval


[0,1]
Example: RGB to HSV
Conversion

Original RGB
image

HSV values
in grayscale
HSV to RGB
Conversion

HSV to RGB
Conversion
RGB Components can be scaled to whole numbers in
range [0,255] as
RGB to HLS
Conversion
 Compute Hue same way as for HSV
model

 Then compute the other 2 values


as:
Example RGB to HLS
Conversion
Original RGB
image

HLS values
in grayscale
HLS to RGB
Conversion
 Assuming H, L and S in [0,1]
range

 Otherwise,
calculate

 Then calculate the


values
HLS to RGB
Conversion
Assignment of RGB values is done as
follows
TV Color Spaces – YUV, YIQ,
YC b C r
 YUV, YIQ: color encoding for analog NTSC and PAL
 YCbCr: Digital TV encoding
 Key common ideas:
 Separate luminance component Y from 2
chroma components
 Instead of encoding colors, encode color differences
between components (maintains compatibility with
black and white TV)
YU
V
 Basis for color encoding in analog TV in north america
(NTSC) and Europe (PAL)
 Y components computed from RGB components as

 UV components computed
as:
YU
V
 Entire transformation from RGB to
YUV

 Invert matrix above to transform from YUV back to


RGB
YI
Q
 Original NTSC used variant of YUV called YIQ
 Y component is same as in YUV
 Both U and V color vectors rotated and mirrored so
that

2D rotation
matrix

where β = 0.576 (33


degrees)
YCbC
r Internationally standardized variant of YUV

 Used for digital TV and image compression (e.g.


JPEG)
 Y, Cb, Cr components calculated as

 Inverse transform from YCbCr to RGB


YCbC
r
 ITU recommendation BT.601 specifies values:
wR = 0.299, wB = 0.114, wG = 1 – wB – wR =
0.587
 Thus the transformation

 And the inverse transformation


becomes
Comparing YUV, YIQ and
YCbCr
 Y values are identical
in all 3 color spaces
CIE Color
Space
 The gamut of all colors perceivable is thus
a three‐dimensional shape in X,Y,Z
 Color = X’X + Y’Y + Z’Z
CIE Chromaticity Diagram
(1931)
•For simplicity, we often
project to the 2D plane
•Also normalize

•Note: Inside horseshoe visible,


outside invisible to eye

Note: Look up x, y
Calculate z as 1 – x - y
Standard
Illuminants
 Central goal of CIE chart is the quantitative measurement
of colors in physical reality
 CIE specifies some standard illuminants for many real and
hypothetical light sources
 Specified by spectral radiant power distribution
and correlated color temperature
 D50: natural direct sunlight
 D65: Indirect daylight, overcast sky
CIE
uses
Find complementary colors:
 equal linear distances from white in opposite directions
 Measure hue and saturation:
 Extend line from color to white till it cuts horseshoe (hue)
 Saturation is ratio of distances color‐to‐white/hue‐to‐white
 Define and compare device color gamut (color
ranges)
 Problem: not perceptually uniform:
 Same amount of changes in different directions
generate perceived difference that are not equal
 CIE LUV, L*a*b* ‐ uniform
CIE
L*a*b*
 Main goal was to make changes in this space linear
with respect to human perception
 Now popular in high‐quality photographic applications
 Used in Adobe photoshop as standard for converting
between different color spaces
 Components:
 Luminosity L
 Color components a* and b* which specify color hue and
saturation along green‐red and blue‐yellow axes
 All 3 components are measured relative to reference
white
 Non‐linear correction function (like gamma correction)
applied
Device Color
Gamuts
 Since X, Y, and Z are hypothetical light sources, no real
device can produce the entire gamut of perceivable
color
 Depends on physical means of producing color on
device
 Example: R,G,B phosphors on CRT monitor
Device Color
Gamuts
 The RGB color cube sits within CIE color space
 We can use the CIE chromaticity diagram to compare
the gamuts of various devices
 E.g. compare color printer and monitor color gamuts
Transformation CIE XYZ to
L*a*b*
 Current ISO Standard 13655
conversion

where

 Usually, standard illuminant D65 is specified as

reference (Xref, Yref, Zref)


 Possible values of a* and b* are in range [‐127, +127]
Transformation L*a*b* to CIE
XYZ
 Reverse transformation from L*a*b* space to XYZ
is

where
Example of L*a*b*
Components
Code for XYZ to L*a*b*
and L*a*b* to XYZ
Conversion
Measuring Color
Differences
Due to its uniformity with respect to human
perception, differences between colors in L*a*b*
color space can be determined as euclidean distance
sRG
B
 For many computer display‐oriented applications, use of
CIE color space may be too cumbersome
 sRGB
 developed by Hewlett Packard and Microsoft
 has relatively small gamut compared to L*a*b*
 Its colors can be reproduced by most computer monitors
 De Facto standard for digital cameras
 Several image formats (EXIF, PNG) based on sRGB
Transformation CIE XYZ to
sRGB
 First compute linear RGB values
as

Where

 Next gamma correct linear RGB


values
Transformation sRGB to CIE
XYZ
 First linearize R’ G’ B’ values
as

With

 Linearized RGB then transformed to XYZ


as
Adobe
RGB
 Small gamut limited to colors reproducible by
computer monitors is a weakness of sRGB
 Creates problems in areas such as printing
 Adobe RGB similar to sRGB but with much larger
gamut

sRGB gamut Adobe RGB gamut


Chromatic
Adaptation
 Human eye adapts to make color of object same
under different lighting conditions
 E.g. Paper appears white in bright daylight and
under flourescent light
 CIE color system allows colors to be specified relative to
white point, called relative colorimetry
 If 2 colors specified relative to different white points, they
can be related to each other using chromatic adaptation
transformation (CAT)
XYZ
Scaling
 Simplest chromatic adaptation method is XYZ
scaling
 Basically, color coordinates multiplied by ratios
of corresponding white point coordinates

 For example to convert colors from system based on


white point W1 = D65 to system relative to W2 = D50

 Another alternative is Bradford


adaptation
Colorimetric Support in
Java
 sRGB is standard color space in Java
 Components of color objects and RGB color images are
color corrected
Statistics of Color
Images
 Task: Determine how many unique colors in a given image
 Approach 1: Create histogram, count frequency of each
color
 Not efficient since for 24‐bit image, there are 224 = 16,777,216
colors
 Approach 2: Put pixels in array, then sort
 Similar colors next to each other
 We can then count the number of transitions between
neighboring colors
 Much more efficient than histogram approach if many repeated
colors
Color
Histograms
 When applied to object of type ColorProcessor, built‐in
ImageJ method getHistogram( ), simply counts intensity
of corresponding gray values
 Another alternative: compute individual intensity
histograms of 3 color channels
 Downside: does not give information about actual colors in image
 A good alternative: 2D color histograms
2D Color
Histograms
Define:

 Note: * denotes arbitrary component value


 Resulting 2D histograms are independent of original
image size, easily visualized
Example:
Combined Color
Histogram
Color
Quantization
 True color can be quite large in actual description

 Sometimes need to reduce size


 Examples:
 Convert 24‐bit TIFF to 8‐bit TIFF
 Take a true‐color description from database and convert to
web image format
 Replace true‐color with “best match” from smaller
subset
 Quantization algorithms:
 Uniform quantization
 Popularity algorithm
 Median‐cut algorithm
 Octree algorithm

You might also like