Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves...

26
Introduction to Computer Graphics Color Color

Transcript of Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves...

Page 1: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Introduction to Computer Graphics

ColorColorColorColor

Page 2: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Specifying Color

Color perception usually involves three quantities:Color perception usually involves three quantities:

• HueHue: Distinguishes between colors like red, green, blue, etc: Distinguishes between colors like red, green, blue, etc

• SaturationSaturation: How far the color is from a gray of equal intensity: How far the color is from a gray of equal intensity

• LightnessLightness: The perceived intensity of a reflecting object: The perceived intensity of a reflecting object

Sometimes lightness is called Sometimes lightness is called brightness brightness if the object is if the object is emitting light instead of reflecting it.emitting light instead of reflecting it.

In order to use color precisely in computer graphics, we In order to use color precisely in computer graphics, we need to be able to specify and measure colors.need to be able to specify and measure colors.

Color perception usually involves three quantities:Color perception usually involves three quantities:

• HueHue: Distinguishes between colors like red, green, blue, etc: Distinguishes between colors like red, green, blue, etc

• SaturationSaturation: How far the color is from a gray of equal intensity: How far the color is from a gray of equal intensity

• LightnessLightness: The perceived intensity of a reflecting object: The perceived intensity of a reflecting object

Sometimes lightness is called Sometimes lightness is called brightness brightness if the object is if the object is emitting light instead of reflecting it.emitting light instead of reflecting it.

In order to use color precisely in computer graphics, we In order to use color precisely in computer graphics, we need to be able to specify and measure colors.need to be able to specify and measure colors.

Page 3: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Combining Colors

Additive (RGB)Shining colored lights

on a white ball

Subtractive (CMYK)Mixing paint colors and

illuminating with white light

Page 4: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

How Do Artists Do It?

Artists often specify color as tints, shades, and tones Artists often specify color as tints, shades, and tones of saturated (pure) pigmentsof saturated (pure) pigments

• TintTint:: Gotten by adding white to a pure pigment, Gotten by adding white to a pure pigment, decreasing saturationdecreasing saturation

• ShadeShade:: Gotten by Gotten by adding adding black to a pure pigment, black to a pure pigment, decreasing lightnessdecreasing lightness

• ToneTone:: Gotten by adding Gotten by adding white and black to a pure white and black to a pure pigmentpigment

Artists often specify color as tints, shades, and tones Artists often specify color as tints, shades, and tones of saturated (pure) pigmentsof saturated (pure) pigments

• TintTint:: Gotten by adding white to a pure pigment, Gotten by adding white to a pure pigment, decreasing saturationdecreasing saturation

• ShadeShade:: Gotten by Gotten by adding adding black to a pure pigment, black to a pure pigment, decreasing lightnessdecreasing lightness

• ToneTone:: Gotten by adding Gotten by adding white and black to a pure white and black to a pure pigmentpigment

White

Pure Color

Black

Grays

Tints

ShadesTones

Page 5: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

HSV Color Space

Computer scientists frequently use an intuitive Computer scientists frequently use an intuitive color space that corresponds to tint, shade, and color space that corresponds to tint, shade, and tone:tone:

• HueHue - The color we see (red, green, purple) - The color we see (red, green, purple)

• SaturationSaturation - How far is the color from gray (pink is less - How far is the color from gray (pink is less saturated than red, sky blue is less saturated than royal blue)saturated than red, sky blue is less saturated than royal blue)

• Brightness (Luminance)Brightness (Luminance) - How bright is the color (how bright - How bright is the color (how bright are the lights illuminating the object?)are the lights illuminating the object?)

Computer scientists frequently use an intuitive Computer scientists frequently use an intuitive color space that corresponds to tint, shade, and color space that corresponds to tint, shade, and tone:tone:

• HueHue - The color we see (red, green, purple) - The color we see (red, green, purple)

• SaturationSaturation - How far is the color from gray (pink is less - How far is the color from gray (pink is less saturated than red, sky blue is less saturated than royal blue)saturated than red, sky blue is less saturated than royal blue)

• Brightness (Luminance)Brightness (Luminance) - How bright is the color (how bright - How bright is the color (how bright are the lights illuminating the object?)are the lights illuminating the object?)

Page 6: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Intuitive Color SpacesA top-down view of hexconeA top-down view of hexcone

Page 7: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

HSV Color Space

A more intuitive color spaceA more intuitive color space• H = HueH = Hue

• S = SaturationS = Saturation

• V = Value (or brightness)V = Value (or brightness)

A more intuitive color spaceA more intuitive color space• H = HueH = Hue

• S = SaturationS = Saturation

• V = Value (or brightness)V = Value (or brightness)

ValueSaturation

Hue

Page 8: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Precise Color Specifications

• Pigment-mixing is subjective --- depends on human observer, Pigment-mixing is subjective --- depends on human observer, surrounding colors, lighting of the environment, etcsurrounding colors, lighting of the environment, etc

• We need an objective color specificationWe need an objective color specification

• Light is electromagnetic energy in the 400 to 700 nm wavelength Light is electromagnetic energy in the 400 to 700 nm wavelength rangerange

• Dominant wavelengthDominant wavelength is the wavelength of the color we “see” is the wavelength of the color we “see”

• Excitation purityExcitation purity is the proportion of pure colored light to white light is the proportion of pure colored light to white light

• LuminanceLuminance is the amount (or intensity) of the lightis the amount (or intensity) of the light

• Pigment-mixing is subjective --- depends on human observer, Pigment-mixing is subjective --- depends on human observer, surrounding colors, lighting of the environment, etcsurrounding colors, lighting of the environment, etc

• We need an objective color specificationWe need an objective color specification

• Light is electromagnetic energy in the 400 to 700 nm wavelength Light is electromagnetic energy in the 400 to 700 nm wavelength rangerange

• Dominant wavelengthDominant wavelength is the wavelength of the color we “see” is the wavelength of the color we “see”

• Excitation purityExcitation purity is the proportion of pure colored light to white light is the proportion of pure colored light to white light

• LuminanceLuminance is the amount (or intensity) of the lightis the amount (or intensity) of the light

Page 9: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Electromagnetic Spectrum

Visible light frequencies range between ...Visible light frequencies range between ...

• Red = 4.3 x 10Red = 4.3 x 1014 14 hertz (700nm)hertz (700nm)

• Violet = 7.5 x 10Violet = 7.5 x 1014 14 hertz (400nm)hertz (400nm)

Visible light frequencies range between ...Visible light frequencies range between ...

• Red = 4.3 x 10Red = 4.3 x 1014 14 hertz (700nm)hertz (700nm)

• Violet = 7.5 x 10Violet = 7.5 x 1014 14 hertz (400nm)hertz (400nm)

Figures 15.1 from H&B

Page 10: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Visible Light

Hue = dominant frequency (highest peak)Hue = dominant frequency (highest peak)

Saturation = excitation purity (ratio of highest to rest)Saturation = excitation purity (ratio of highest to rest)

Lightness = luminance (area under curve)Lightness = luminance (area under curve)

Hue = dominant frequency (highest peak)Hue = dominant frequency (highest peak)

Saturation = excitation purity (ratio of highest to rest)Saturation = excitation purity (ratio of highest to rest)

Lightness = luminance (area under curve)Lightness = luminance (area under curve)

White LightOrange LightFigures 15.3-4 from H&B

Page 11: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

How well do we see color?What color do we see the best?What color do we see the best?

• Yellow-green at 550 nmYellow-green at 550 nm

What color do we see the worst?What color do we see the worst?

• Blue at 440 nmBlue at 440 nm

Flashback: Colortables (colormaps) for color storageFlashback: Colortables (colormaps) for color storage

• Which RGB value gets the most bits?Which RGB value gets the most bits?

Can perceive color differences of 10 nm at extremes (violet and red) Can perceive color differences of 10 nm at extremes (violet and red) and 2 nm between blue and yellowand 2 nm between blue and yellow

Metamers Metamers – different energy radiations look like the same color– different energy radiations look like the same color

Color perception also affected by surrounding light and adaptationColor perception also affected by surrounding light and adaptation

What color do we see the best?What color do we see the best?

• Yellow-green at 550 nmYellow-green at 550 nm

What color do we see the worst?What color do we see the worst?

• Blue at 440 nmBlue at 440 nm

Flashback: Colortables (colormaps) for color storageFlashback: Colortables (colormaps) for color storage

• Which RGB value gets the most bits?Which RGB value gets the most bits?

Can perceive color differences of 10 nm at extremes (violet and red) Can perceive color differences of 10 nm at extremes (violet and red) and 2 nm between blue and yellowand 2 nm between blue and yellow

Metamers Metamers – different energy radiations look like the same color– different energy radiations look like the same color

Color perception also affected by surrounding light and adaptationColor perception also affected by surrounding light and adaptation

Page 12: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Just noticeable difference (JND)

128 fully saturated hues can be distinguished128 fully saturated hues can be distinguished

Cannot perceive hue differences with less Cannot perceive hue differences with less saturated light.saturated light.

Sensitivity to changes in saturation for a fixed hue Sensitivity to changes in saturation for a fixed hue and brightness ranges from 16 to 23 depending and brightness ranges from 16 to 23 depending on hue.on hue.

Talked about representing intensities last lectureTalked about representing intensities last lecture

128 fully saturated hues can be distinguished128 fully saturated hues can be distinguished

Cannot perceive hue differences with less Cannot perceive hue differences with less saturated light.saturated light.

Sensitivity to changes in saturation for a fixed hue Sensitivity to changes in saturation for a fixed hue and brightness ranges from 16 to 23 depending and brightness ranges from 16 to 23 depending on hue.on hue.

Talked about representing intensities last lectureTalked about representing intensities last lecture

Page 13: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Color Spaces

Three types of cones suggests color is a 3D quantity. How Three types of cones suggests color is a 3D quantity. How to define 3D color space?to define 3D color space?

Idea: Idea:

• Shine given wavelength (Shine given wavelength () on a screen) on a screen

• User must control three lasers producing three wavelengths (say User must control three lasers producing three wavelengths (say R=700nm, G=546nm, and B=436nm)R=700nm, G=546nm, and B=436nm)

• Adjust intensity of RGB until colors are identicalAdjust intensity of RGB until colors are identical

• Note phosphors of TV are not perfect RGBNote phosphors of TV are not perfect RGBemitters as the results to right demonstrateemitters as the results to right demonstrate

Three types of cones suggests color is a 3D quantity. How Three types of cones suggests color is a 3D quantity. How to define 3D color space?to define 3D color space?

Idea: Idea:

• Shine given wavelength (Shine given wavelength () on a screen) on a screen

• User must control three lasers producing three wavelengths (say User must control three lasers producing three wavelengths (say R=700nm, G=546nm, and B=436nm)R=700nm, G=546nm, and B=436nm)

• Adjust intensity of RGB until colors are identicalAdjust intensity of RGB until colors are identical

• Note phosphors of TV are not perfect RGBNote phosphors of TV are not perfect RGBemitters as the results to right demonstrateemitters as the results to right demonstrate

Page 14: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

CIE Color Space

No standard set of three wavelengths can be No standard set of three wavelengths can be combined to generate all other wavelengths.combined to generate all other wavelengths.

The The CIECIE (Commission Internationale d’Eclairage) (Commission Internationale d’Eclairage) defined three hypothetical lights X, Y, and Z with defined three hypothetical lights X, Y, and Z with these spectra:these spectra:

Idea: any wavelength Idea: any wavelength can can be matched perceptually be matched perceptually by by positivepositive combinations combinations of X, Y, and Zof X, Y, and Z

No standard set of three wavelengths can be No standard set of three wavelengths can be combined to generate all other wavelengths.combined to generate all other wavelengths.

The The CIECIE (Commission Internationale d’Eclairage) (Commission Internationale d’Eclairage) defined three hypothetical lights X, Y, and Z with defined three hypothetical lights X, Y, and Z with these spectra:these spectra:

Idea: any wavelength Idea: any wavelength can can be matched perceptually be matched perceptually by by positivepositive combinations combinations of X, Y, and Zof X, Y, and Z

x ~ Ry ~ Gz ~ B

Page 15: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

CIE Color Space

The The gamutgamut of all colors perceivable is thus a three-dimensional of all colors perceivable is thus a three-dimensional shape in X, Y, Zshape in X, Y, Z

Color = xX + yY + zZColor = xX + yY + zZ

The The gamutgamut of all colors perceivable is thus a three-dimensional of all colors perceivable is thus a three-dimensional shape in X, Y, Zshape in X, Y, Z

Color = xX + yY + zZColor = xX + yY + zZ

Page 16: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

CIE Chromaticity Diagram (1931)

For simplicity, we often project to the 2D plane x + y + z = 1

x = x / (x+y+z)y = y / (x+y+z)z = 1 – x - y

Page 17: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

RGB Color Space (Color Cube)

Define colors with (r, g, b) amounts of red, green, Define colors with (r, g, b) amounts of red, green, and blueand blue

Define colors with (r, g, b) amounts of red, green, Define colors with (r, g, b) amounts of red, green, and blueand blue

Page 18: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

YIQ Color Space

YIQYIQ is the color model used for color TV in is the color model used for color TV in America. America. YY is brightness, is brightness, II (orange-cyan) & (orange-cyan) & QQ (green-magenta) (green-magenta) are colorare color• Note: Note: YY is the same as CIE’s is the same as CIE’s Y Y

• Result: Use the Y alone and backwards compatibility with Result: Use the Y alone and backwards compatibility with B/W TV!B/W TV!

• These days when you convert RGB image to B/W image, the These days when you convert RGB image to B/W image, the green and blue components are thrown away and red is used green and blue components are thrown away and red is used to control shades of grey (usually)to control shades of grey (usually)

YIQYIQ is the color model used for color TV in is the color model used for color TV in America. America. YY is brightness, is brightness, II (orange-cyan) & (orange-cyan) & QQ (green-magenta) (green-magenta) are colorare color• Note: Note: YY is the same as CIE’s is the same as CIE’s Y Y

• Result: Use the Y alone and backwards compatibility with Result: Use the Y alone and backwards compatibility with B/W TV!B/W TV!

• These days when you convert RGB image to B/W image, the These days when you convert RGB image to B/W image, the green and blue components are thrown away and red is used green and blue components are thrown away and red is used to control shades of grey (usually)to control shades of grey (usually)

Page 19: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Converting Color Spaces

Converting between color models can also be Converting between color models can also be expressed as such a matrix transform:expressed as such a matrix transform:

Note the relative unimportance of blue in Note the relative unimportance of blue in computing the Ycomputing the Y

Converting between color models can also be Converting between color models can also be expressed as such a matrix transform:expressed as such a matrix transform:

Note the relative unimportance of blue in Note the relative unimportance of blue in computing the Ycomputing the Y

B

G

R

Q

I

Y

31.052.021.0

32.028.060.0

11.059.030.0

Page 20: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Perceptually Uniform Color Space

Color space in which Euclidean distance between Color space in which Euclidean distance between two colors in space is proportional to the two colors in space is proportional to the perceived distanceperceived distance

• CIE, RGB, not perceptually uniformCIE, RGB, not perceptually uniform

– Example with RGBExample with RGB

– LUV was created to be LUV was created to be perceptually uniformperceptually uniform

Color space in which Euclidean distance between Color space in which Euclidean distance between two colors in space is proportional to the two colors in space is proportional to the perceived distanceperceived distance

• CIE, RGB, not perceptually uniformCIE, RGB, not perceptually uniform

– Example with RGBExample with RGB

– LUV was created to be LUV was created to be perceptually uniformperceptually uniform

Page 21: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

The CMY Color Model

Cyan, magenta, and yellow are the complements of red, Cyan, magenta, and yellow are the complements of red, green, and bluegreen, and blue

• We can use them as filters to subtract from whiteWe can use them as filters to subtract from white

• The space is the same as RGB except the origin is white instead The space is the same as RGB except the origin is white instead of blackof black

This is useful for hardcopy This is useful for hardcopy devices like laser printersdevices like laser printers

• If you put cyan ink on the page, no red light is reflectedIf you put cyan ink on the page, no red light is reflected

• Add black as option (CMYK) to match equal parts CMYAdd black as option (CMYK) to match equal parts CMY

Cyan, magenta, and yellow are the complements of red, Cyan, magenta, and yellow are the complements of red, green, and bluegreen, and blue

• We can use them as filters to subtract from whiteWe can use them as filters to subtract from white

• The space is the same as RGB except the origin is white instead The space is the same as RGB except the origin is white instead of blackof black

This is useful for hardcopy This is useful for hardcopy devices like laser printersdevices like laser printers

• If you put cyan ink on the page, no red light is reflectedIf you put cyan ink on the page, no red light is reflected

• Add black as option (CMYK) to match equal parts CMYAdd black as option (CMYK) to match equal parts CMY

B

G

R

Y

M

C

1

1

1

Page 22: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Halftoning

A technique used in newspaper printingA technique used in newspaper printing

Only two intensities are possible, blob of ink and no Only two intensities are possible, blob of ink and no blob of inkblob of ink

But, the size of the blob can be variedBut, the size of the blob can be varied

Also, the dither patterns of small dots can be usedAlso, the dither patterns of small dots can be used

A technique used in newspaper printingA technique used in newspaper printing

Only two intensities are possible, blob of ink and no Only two intensities are possible, blob of ink and no blob of inkblob of ink

But, the size of the blob can be variedBut, the size of the blob can be varied

Also, the dither patterns of small dots can be usedAlso, the dither patterns of small dots can be used

Page 23: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Halftoning

Page 24: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Halftoning – dot size

Page 25: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Halftoning – Moire Patterns

Repeated use of same dot Repeated use of same dot pattern for particular pattern for particular shade results in shade results in repeated patternrepeated pattern

• Perceived as a moire patternPerceived as a moire pattern

• Instead, randomize halftone Instead, randomize halftone patternpattern

Repeated use of same dot Repeated use of same dot pattern for particular pattern for particular shade results in shade results in repeated patternrepeated pattern

• Perceived as a moire patternPerceived as a moire pattern

• Instead, randomize halftone Instead, randomize halftone patternpattern

Page 26: Introduction to Computer Graphics ColorColor. Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like.

Dithering

Halftoning for color imagesHalftoning for color imagesHalftoning for color imagesHalftoning for color images