Last Time Image – basic definition

Slides:



Advertisements
Similar presentations
13- 1 Chapter 13: Color Processing 。 Color: An important descriptor of the world 。 The world is itself colorless 。 Color is caused by the vision system.
Advertisements

1/29/04© University of Wisconsin, CS559 Spring 2004 Last Time Color –Sensor response is computed from the sensor’s response curve and the incoming spectrum.
Color & Light, Digitalization, Storage. Vision Rods work at low light levels and do not see color –That is, their response depends only on how many photons,
Fundamentals of Digital Imaging
School of Computing Science Simon Fraser University
Multi-media Graphics JOUR 205 Color Models & Color Space 5 ways of specifying colors.
Graphics File Formats. 2 Graphics Data n Vector data –Lines –Polygons –Curves n Bitmap data –Array of pixels –Numerical values corresponding to gray-
CMPT 365 Multimedia Systems
1 CSCE441: Computer Graphics: Color Models Jinxiang Chai.
CS559-Computer Graphics Copyright Stephen Chenney Color Recap The physical description of color is as a spectrum: the intensity of light at each wavelength.
Why Care About Color? Accurate color reproduction is commercially valuable - e.g. Kodak yellow, painting a house Color reproduction problems increased.
Color Models AM Radio FM Radio + TV Microwave Infrared Ultraviolet Visible.
Color & Color Management. Overview I. Color Perception Definition & characteristics of color II. Color Representation RGB, CMYK, XYZ, Lab III. Color Management.
Dye Sublimation Color Management
09/12/02 (C) 2002, University of Wisconsin, CS 559 Last Time Color and Color Spaces –Recall RGB and XYZ Programming assignment 2.
01/31/02 (C) 2002, UNiversity of Wisconsin, CS 559 Last Time Color and Color Spaces.
9/14/04© University of Wisconsin, CS559 Spring 2004 Last Time Intensity perception – the importance of ratios Dynamic Range – what it means and some of.
Trevor McCasland Arch Kelley.  Goal: reduce the size of stored files and data while retaining all necessary perceptual information  Used to create an.
CS559-Computer Graphics Copyright Stephen Chenney Image File Formats How big is the image? –All files in some way store width and height How is the image.
9/16/04© University of Wisconsin, CS559 Spring 2004 Last Time Color –The principle of trichromacy says that any spectrum can be matched using three primaries.
Colour Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 6 This presentation © 2004, MacAvon Media Productions Colour.
CS 376 Introduction to Computer Graphics 01 / 26 / 2007 Instructor: Michael Eckmann.
2001 by Jim X. Chen: 1 The purpose of a color model is to allow convenient specification of colors within some color gamut.
Digital Images The digital representation of visual information.
Page 18/30/2015 CSE 40373/60373: Multimedia Systems 4.2 Color Models in Images  Colors models and spaces used for stored, displayed, and printed images.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 8 – JPEG Compression (Part 3) Klara Nahrstedt Spring 2012.
Chapter 6: Color Image Processing Digital Image Processing.
Lab #5-6 Follow-Up: More Python; Images Images ● A signal (e.g. sound, temperature infrared sensor reading) is a single (one- dimensional) quantity that.
2/3/04© University of Wisconsin, CS559 Spring 2004 Last Time Color –Transforming between two color spaces –A gamut is the set of displayable colors in.
Color Theory ‣ What is color? ‣ How do we perceive it? ‣ How do we describe and match colors? ‣ Color spaces.
09/17/02 (C) 2002, University of Wisconsin, CS 559 Last Time Color Spaces File formats.
DIGITAL IMAGE. Basic Image Concepts An image is a spatial representation of an object An image can be thought of as a function with resulting values of.
1 CSCE441: Computer Graphics: Color Models Jinxiang Chai.
Introduction to Computer Graphics
1 CSCE441: Computer Graphics: Color Models Jinxiang Chai.
Image credit: Wikipedia (Fovea) Human Eye Some interesting facts – Rod cells: requires only low light b/w vision blur, all over retina EXCEPT fovea – Cone.
09/10/02(c) University of Wisconsin, CS559 Fall 2002 Last Time Digital Images –Spatial and Color resolution Color –The physics of color.
Color Measurement and Reproduction Eric Dubois. How Can We Specify a Color Numerically? What measurements do we need to take of a colored light to uniquely.
1 of 32 Computer Graphics Color. 2 of 32 Basics Of Color elements of color:
CSE 185 Introduction to Computer Vision
COMPUTER GRAPHICS CS 482 – FALL 2016 CHAPTER 28 COLOR COLOR PERCEPTION CHROMATICITY COLOR MODELS COLOR INTERPOLATION.
Color Models Light property Color models.
BITMAPPED IMAGES & VECTOR DRAWN GRAPHICS
ITEC2110, Digital Media Chapter 2 Fundamentals of Digital Imaging
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Half Toning Dithering RGB CMYK Models
Images and 2D Graphics COMP
Display Issues Ed Angel
JPEG Compression What is JPEG? Motivation
Color Image Processing
Color Image Processing
Human Eye Some interesting facts Useful fact Rod cells: Cone cells:
(c) University of Wisconsin, CS559 Spring 2002
COLOR space Mohiuddin Ahmad.
JPEG Image Coding Standard
Chapter 6: Color Image Processing
Color Image Processing
JPEG.
Perception and Measurement of Light, Color, and Appearance
Introduction to Computer Graphics with WebGL
© University of Wisconsin, CS559 Spring 2004
Color Representation Although we can differentiate a hundred different grey-levels, we can easily differentiate thousands of colors.
CMPT 365 Multimedia Systems
Human Eye Some interesting facts Useful fact Rod cells: Cone cells:
Color Image Processing
Slides taken from Scott Schaefer
Color Image Processing
Color Model By : Mustafa Salam.
Color Models l Ultraviolet Infrared 10 Microwave 10
Presentation transcript:

Last Time Image – basic definition Intensity perception – the importance of ratios Dynamic Range – what it means and some of the issues Gamma Correction – why and how Color Spectra Emission vs. adsorption Sensors and response Human color perception Tri-chromacy Color primaries Color Spaces 9/23/2009 © NTUST 2009

Today Color spaces Calibration Paints and inks behave differently – subtractive color Image file formats Color Quantization Do Programming Tutorial 2 9/23/2009 © NTUST 2009

CIE XYZ Color Space Defined in 1931 to describe the full space of perceptible colors Revisions now used by color professionals Color matching functions are everywhere positive Cannot produce the primaries – need negative light! But, can still describe a color by its matching weights Y component intended to correspond to intensity Most frequently set x=X/(X+Y+Z) and y=Y/(X+Y+Z) x,y are coordinates on a constant brightness slice 9/23/2009 © NTUST 2009

CIE x, y Note: This is a representation on a projector with limited range, so the correct colors are not being displayed 9/23/2009 © NTUST 2009

CIE Matching Functions 9/23/2009 © NTUST 2009

Going from RGB to XYZ These are linear color spaces, related by a linear transformation Match each primary, for example: Substitute and equate terms: 9/23/2009 © NTUST 2009

Standard RGB↔XYZ Note that each matrix is the inverse of the other Recall, Y encodes brightness, so the matrix tells us how to go from RGB to grey 9/23/2009 © NTUST 2009

Determining Gamuts Gamut: The range of colors that can be represented or reproduced Plot the matching coordinates for each primary. eg R, G, B Region contained in triangle (3 primaries) is gamut Really, it’s a 3D thing, with the color cube distorted and embedded in the XYZ gamut XYZ Gamut y RGB Gamut G R B x 9/23/2009 © NTUST 2009

Accurate Color Reproduction High quality graphic design applications, and even some monitor software, offers accurate color reproduction A color calibration phase is required: Fix the lighting conditions under which you will use the monitor Fix the brightness and contrast on the monitor Determine the monitor’s γ Using a standard color card, match colors on your monitor to colors on the card: This gives you the matrix to convert your monitor’s RGB to XYZ Together, this information allows you to accurately reproduce a color specified in XYZ format (and hence any other standard format) 9/23/2009 © NTUST 2009

More linear color spaces Monitor RGB: primaries are monitor phosphor colors, primaries and color matching functions vary from monitor to monitor sRGB: A new color space designed for web graphics YIQ: mainly used in television Y is (approximately) intensity, I, Q are chromatic properties Linear color space; hence there is a matrix that transforms XYZ coords to YIQ coords, and another to take RGB to YIQ I and Q can be transmitted with low bandwidth 9/23/2009 © NTUST 2009

HSV Color Space (Alvy Ray Smith, 1978) Hue: the color family: red, yellow, blue… Saturation: The purity of a color: white is totally unsaturated Value: The intensity of a color: white is intense, black isn’t Space looks like a cone Parts of the cone can be mapped to RGB space Not a linear space, so no linear transform to take RGB to HSV But there is an algorithmic transform 9/23/2009 © NTUST 2009

HSV Color Space HSV Color Cone Program 9/23/2009 © NTUST 2009

Uniform Color Spaces Color spaces in which distance in the space corresponds to perceptual “distance” Only works for local distances How far is red from green? Is it further than red from blue? Use MacAdams ellipses to define perceptual distance 9/23/2009 © NTUST 2009

MacAdam Ellipses Scaled by a factor of 10 and shown on CIE xy color space If you are shown two colors, one at the center of the ellipse and the other inside it, you cannot tell them apart Only a few ellipses are shown, but one can be defined for every point 9/23/2009 © NTUST 2009

CIE u’v’ Space CIE u’v’ is a non-linear color space where color differences are more uniform Note that now ellipses look more like circles The third coordinate is the original Z from XYZ Violet 9/23/2009 © NTUST 2009

Paint and Ink Paints are thought of as reflective Green paint looks green because those are the colors that escape Combining pigments reflects more colors, so additive color Red paint + green paint = yellow paint Paint covers things Ink is thought of as adsorbing particles It’s easier to handle the math You see the color of the paper, filtered by the ink Combining inks adsorbs more color, so subtractive color White paper – red – blue = green The color and texture of the paper affects the color of the image 9/23/2009 © NTUST 2009

Subtractive mixing Common inks: Cyan=White−Red; Magenta=White−Green; Yellow=White−Blue The colors, cyan, magenta, yellow, are how the inks look when printed To make a red mark, put down magenta and yellow, which removes the green and blue leaving red For good inks, matching is linear: C+M+Y=White-White=Black C+M=White-Red-Green=Blue Usually require CMY and Black, because colored inks are more expensive, and registration is hard Registration is the problem of making drops of ink line up 9/23/2009 © NTUST 2009

Calibrating a Printer If the inks (think of them as primaries) are linear, there exists a 3x3 matrix and an offset to take RGB to CMY For example, if an RGB of (1,0,0) goes to CMY of (0,1,1); (0,1,0)→(1,0,1); and (0,0,1)→(1,1,0), then the matrix is To calibrate your printer, you find out exactly what the numbers in the matrix should be Print with cyan ink only and match the color with RGB, repeat with magenta and yellow, use the results to determine the matrix 9/23/2009 © NTUST 2009

Image File Formats How big is the image? All files in some way store width and height How is the image data formatted? Is it a black and white image, a grayscale image, a color image, an indexed color image? How many bits per pixel? What other information? Color tables, compression codebooks, creator information… All image formats are a trade-off between ease of use, size of file, and quality of reproduction 9/23/2009 © NTUST 2009

The Simplest File Assumes that the color depth is known and agreed on Store width, height, and data for every pixel in sequence This is how you normally store an image in memory Unsigned because width and height are positive, and unsigned char because it is the best type for raw 8 bit data Note that you require some implicit scheme for laying out a rectangular array into a linear one 0r,g,b 1r,g,b 2r,g,b 3r,g,b 4r,g,b 5r,g,b 6r,g,b 7r,g,b 8r,g,b class Image { unsigned int width; unsigned int height; unsigned char *data; } 0r 0g 0b 1r 1g 1b 2r 2g 2b 3r 3g 9/23/2009 © NTUST 2009

Indexed Color 24 bits per pixel (8-red, 8-green, 8-blue) are expensive to transmit and store It must be possible to represent all those colors, but not in the same image Solution: Indexed color Assume k bits per pixel (typically 8) Define a color table containing 2k colors (24 bits per color) Store the index into the table for each pixel (so store k bits for each pixel) Once common in hardware, now an artifact (256 color displays) 9/23/2009 © NTUST 2009

Indexed Color Color Table Pixel Data Image 4 3 2 1 7 4 5 3 7 6 5 2 2 1 4 3 2 1 1 7 4 5 2 3 7 6 5 3 2 2 1 1 4 5 Only makes sense if you have lots of pixels and not many colors 6 7 9/23/2009 © NTUST 2009

Image Compression Indexed color is one form of image compression Special case of vector quantization – in color space, reducing the range of available colors Alternative 1: Store the image in a simple format and then compress with your favorite compressor Doesn’t exploit image specific information Doesn’t exploit perceptual shortcuts Two historically common compressed file formats: GIF and JPEG GIF should now be replaced with PNG, because GIF is patented and the owner started enforcing the patent 9/23/2009 © NTUST 2009

GIF Header – Color Table – Image Data – Extensions Header gives basic information such as size of image and size of color table Color table gives the colors found in the image Biggest it can be is 256 colors, smallest is 2 Image data is LZW compressed color indices To create a GIF: Choose colors Create an array of color indices Compress it with LZW 9/23/2009 © NTUST 2009

JPEG Multi-stage process intended to get very high compression with controllable quality degradation Start with YIQ color Why? Recall, it’s the color standard for TV 9/23/2009 © NTUST 2009

Discrete Cosine Transform A transformation to convert from the spatial to frequency domain – done on 8x8 blocks Why? Humans have varying sensitivity to different frequencies, so it is safe to throw some of them away Basis functions: 9/23/2009 © NTUST 2009

Quantization Reduce the number of bits used to store each coefficient by dividing by a given value If you have an 8 bit number (0-255) and divide it by 8, you get a number between 0-31 (5 bits = 8 bits – 3 bits) Different coefficients are divided by different amounts Perceptual issues come in here Achieves the greatest compression, but also quality loss “Quality” knob controls how much quantization is done 9/23/2009 © NTUST 2009

Entropy Coding Standard lossless compression on quantized coefficients Delta encode the DC components Run length encode the AC components Lots of zeros, so store number of zeros then next value Huffman code the encodings 9/23/2009 © NTUST 2009

Lossless JPEG With Prediction Predict what the value of the pixel will be based on neighbors Record error from prediction Mostly error will be near zero Huffman encode the error stream Variation works really well for fax messages 9/23/2009 © NTUST 2009