Digital Media Dr. Jim Rowan ITEC 2110 Color

advertisement
Digital Media
Dr. Jim Rowan
ITEC 2110
Color
Question!
Inside Photoshop and Gimp there are
image filters that, among other things,
allow you to blur the image. To do this
these filters use a complex
mathematical process. What is the
mathematical process called?
Send answer to:
dr.jimrowan@gmail.com
COLOR
• Is a mess
• It’s a subjective sensation PRODUCED in the
brain
• Color differs for light and paint/ink
• Printing is different than viewing a monitor
– a monitor EMITS light of a specific wavelength (or a
combination of them)
– print is like paint... it absorbs all the colors EXCEPT
the color that you see which is reflected by the paint
– a ball that is painted yellow and is viewed in a room
that is lit by a light that is completely blue will look
black... Why?
Light
• Is electromagnetic radiation (just like
microwaves and radio signals... just
different wavelengths)
• Visible light has a wavelength that is
between 400 and 700 nanoMeters
• A nanoMeter is 1 billionth of a meter...
– HINT: It’s a very short wave
http://en.wikipedia.org
/wiki/Electromagnetic_
spectrum
http://en.wikipedia.org/wiki/Electromagnetic_spectrum
Light
• Visible light is a mix of different
wavelengths of light at different
intensities
• Light isn’t just light
– The sun has one Spectral Power
Distribution, fluorescent light another, a
camera flash another and an LED light
another
Color
• We need to reproduce it electronically
and manipulate it digitally
• So… we need a way to model color.
• i.e. we need a way to convert a
subjective sensation to a reproducible
physical phenomenon
One model of color:
roughly based on the eye
• Rods(night vision, B&W)
• Cones (3 kinds, one for red, one for
blue and one for green)
==> RGB
tri-stimulus theory: the theory that states any
color can be completely specified with just
3 values
RGB
• Color is specified by 3 numbers
– one for red
– one for green
– one for blue
• Color is displayed on a monitor by 3 different
colored things
– one for red
– one for green
– one for blue
The 3 colored things
• Phosphor for a CRT and some Flat panel
displays
• Pockets of fluorescent gas for Plasma panel
• …plus a bunch of other varieties...
• All of them have the ability to adjust the
intensity of each of the three colored things
resulting in the display of most (Not All!) of
the visible colors
• Why not all colors ==>
http://en.wikipedia.org/wiki/Computer_display
RGB...
Good but not all visible colors
• In truth, the 3 different cones in the eye
are cross connected in very complex
ways
• This keeps the model, which assumes
(wrongly) that each is strictly sensing R
or G or B
• ==> RGB cannot completely reproduce
the visual stimulus
Gamut: The complete range or scope of
something
RGB
• Pure red
– (100%, 0%, 0%)
– (255,0,0)
• Pure green
– (0%, 100%, ,0%)
– (0,255,0)
• Pure blue
– (0%, 0%, 100%)
– (0,0,255)
• Gray? R = G = B
– (25,25,25)
– (150,150,150)
Mixing the Color of Light
• …is an additive process
– monitors emit light
• …is not like mixing paint
– mixing paint is a subtractive process
– paint absorbs light
How many colors?
• Different cultures have different ideas about
when 2 colors differ
• People individually differ in their ability to
distinguish between two colors
• With the range of 0-255
– which can be encoded in 1 byte (8 bits)
• The combinations of Red, Green and Blue
results in 16.8 million possibilities
with 4 binary digits 2**4 = 16
with 3 digits that can have 256 different values
256**3 = 16,777,216
Color Depth
• Usually expressed in bits
• One byte for each of the RGB => 24 bits
• Back to binary...
–
–
–
–
1 bit => 21 => 2 choices
2 bits => 22 => 4 choices
4 bits => 24 => 16 choices
8 bits => 28 => 256 choices
Color and Grey
• RGB (0, 0, 0) is black
– Macs and PCs are opposite… go figure!
• RGB (255, 255, 255) is white
• When R = G = B you get grey
– RGB (25, 25, 25) is dark grey
– RGB (200, 200, 200) is light grey
Color at 16 bit Color Depth
16 bits total to represent a color
• RGB at 24 bits
– 24 bits => 3 bytes
– 3 bytes, 3 colors => one byte per color
• RGB at 16 bits
–
–
–
–
–
16 bits => 2 bytes
2 bytes, 3 colors...
16/3 = 5 bits with one left over...
HMMMmmmm...
What to do?
…16 bit color
• 16/3 = 5 bits with one bit left over...
• What to do with the extra bit?
• Go back to human perception
– Humans do not discriminate Blue as well as they
do Green vision
– Evolutionary roots?
• Our environment is green
• Lots of green to discriminate
• Assign 5 bits to R & B, and 6 bits to G
– allows twice (how?) as many greens as blues
Why more than 16.8 million?
• 24 bits is plenty for human vision...
• 30 and 48 bit color are WAY more than
needed for human vision...
• If you scan at 48 bit color there is a lot of
information buried in the image than we can
see BUT...
• This information can be used by the program
to make extremely fine distinctions during
image manipulation (edge finding for
example)
• (Failed rocket engine example)
Why worry about color depth?
• One reason: file size
• Any reduction in color depth has a 3-fold
effect on the final image size
• A 100X100 RGB image
– at 24 bit color => 30,000 bytes uncompressed
– at 16 bit color => 20,000 bytes uncompressed
– 1 byte => 1/3 reduction of size
Why is too big bad?
• It wastes valuable computer resources
– hard drive disk space
– vram space
– data transit time
• Sure, computers are really fast
and big now BUT...
• Consider Video...
internet
main
memory
monitor
VRAM
hard drive
Indexed color
• We’ve seen this before... the color table
• Used by a number of file formats
– tiff, png, bmp, gif,
• Use a table (color palate) to store colors
• Use a map of logical colors to reference
the color map
Indexed (indirect) color vs. 8
bit (direct) color
• 8 bit color defines only 256 colors
• Indexed color allows 256 different colors
• What’s the difference?
– 8 bit defines 256 colors---whether they are
used or not
– Indexed color allows 256 different colors
that exist in the image
Indexed color vs.
8 bit direct color
• 8 bit direct color... an example
– suppose...
•
•
•
•
Red gets 3 bits ==> 000, 001, 010, 011... 111 ==> 8 values
Green gets 3 bits ==> 000, 001, 010, 011... 111 ==> 8 values
Blue gets 2 bits ==> 00, 01, 10, 11 ==> 4 values
total different colors ==> 8 x 8 x 4 = 256 different colors
• But images in nature have a narrower range of
colors... a palate
• With indirect color you can store 256 different
colors that are actually found in the image
– results in an image that more closely mimics the image
Indexed (indirect) color
with 256 colors in palate
• Even though it allows for a closer-toreal-life image, some colors must be
modified
• How to do this?
– use the nearest color
– optical mixing... dithering
Nearest color
• Loss of some detail
• Distorted color
• Generates artifacts
– Banding or posterization
– Example ===>
Optical mixing: Dithering
• Dithering uses a group of colors to
approximate the desired color
• Works well for high resolution images
– (why?)
• Works poorly for low resolution images
– (why?)
• See figure 6.8, p169 for dithering effects
Questions?
Download