120 likes | 249 Vues
In this lecture, we explore the fundamental properties of light, its perception by humans, and how color is represented in digital formats. Light is electromagnetic radiation, and the visible spectrum ranges from 370 to 730 nanometers. Our eyes contain three sensors that respond to different wavelengths, allowing the brain to interpret colors. We delve into the mechanics of pixels in digital images, where each pixel is composed of red, green, and blue components. This session also covers the digitization of images, pixel encoding, and color representation, including techniques to convert images to grayscale.
E N D
Cosc 1P02 Week 6 Lecture slides "To succeed, jump as quickly at opportunities as you do at conclusions." --Benjamin Franklin
Light • Light is electromagnetic radiation and has properties of both waves and particles • Human perception of light • the visible light spectrum has wavelength of 370-730 nanommeters (nm, 10-9, 0.00000037-0.00000073 meters) • low acuity • cannot distinguish fine detail • TV screen, monitor, photographs actually contain many dots but we see a clear picture
Color • Different wavelengths of visible spectrum are sensed as different colors • ROYGBIV • Eyes have 3 sensors that trigger at different wavelengths • 425 nm (blue) • 550 nm (green) • 560 nm (red) • Brain interprets the values registered by the three censors as colour. • each sensor registers something at all wavelengths • highest value for wavelength closest to trigger wavelength • brightness (luminance) handled separately from colour
Picture Representation • Picture represented by a series of dots (pixels – picture elements) • if small enough eye won’t detect • pictures are two-dimensional • pixels arranged in rows and columns • e.g. monitor resolution (1024x768) • Can trick brain into seeing colour by providing 3 sources of light • e.g. orange light • actual wavelength will cause the brain to get a value for blue, green and red from the sensors • if transmit 3 colours (blue, green, red) in close proximity that trigger the 3 sensors at orange level, will “see” orange • Each pixel is really 3 dots: red, green and blue (RGB) • the amount (intensity) of each colour dot varied to produce the colours • e.g. blue at high intensity and others at low intensity will be seen as blue
Encoding (Digitizing) Pictures • Picture is a collection of pixels • width & height • Each pixel has three Color values • red (R), green (G) and blue (B) • represent the intensity of the light of that color • 1 byte gives 256 different intensities for each color • 3 bytes or 224 = 16,777,216 different colors • Digital camera • array of sensors (3 per pixel) pick up R, G and B (like eye) • 3 values (bytes) recorded per pixel • e.g. 10 megapixel camera • 3648 x 2726 = 9,980,928 pixels • at 3 bytes per pixel = 29,942,784 bytes or approximately 28Mb per picture
Exploring Pictures • PictureInspector tool • Java program built using BasicIO & Media libraries • displays picture and allows zooming on a portion • E.g. • beach.jpg • Coordinate system • picture has width & height (in pixels) • top left corner is (0,0) • x-coordinate is column • y-coordinate is row • RGB values
Picture and PictureDisplayer • Picture • class in Media library • access to attributes and pixels of picture • pictures can be loaded from a file (.jpg) • PictureDisplayer • class in BasicIO library • provides a window on which a picture can be displayed • picture objects placed on PictureDisplayer • E.g. load and display a picture
Choosing a Color • Set color of each pixel • Sequence through all pixels • Picture is a collection • for-each • ASCIIPrompter to get RGB values • Pixel class • methods to get & set color of pixels • Example • Color constructor allows setting RGB • Black & white • Gray • if R=G=B we get gray • different shades with different intensities
Grayscale • Convert a picture into grayscale • essentially what we call a black and white picture • shades of gray indicating the luminance of the picture • Gray if R=G=B • set RGB to same value • average of RGB values • Color methods • Example • Note method may change the pixels of the color parameter • they stay changed • just like a method moving a turtle changes its position