150 likes | 297 Views
Image Processing & Perception. Sec 9-11 Web Design. Objectives. The student will: Understand an image from the scribbler camera Look at individual pixels in a picture Understand the myro commands to analyze a picture. Pixels.
E N D
Image Processing &Perception Sec 9-11 Web Design
Objectives The student will: • Understand an image from the scribbler camera • Look at individual pixels in a picture • Understand the myro commands to analyze a picture
Pixels • Each image is made up of several tiny picture elements or pixels. • In a color image, each pixel contains color information which is made up of the amount of red, green, and blue (RGB). • Each of these values is in the range 0..255 • A pixel that is colored pure red will have the RGB values (255, 0, 0).
Pixels • A low-end camera today has 5 megapixels. That’s 5,000,000 pixels! • The images obtained from the Scribbler are 256x192 (WxH) pixels or a total of 49,152 pixels.
Taking a Picture • Remember the command: pic = takePicture("color") • The picture is now stored in the variable pic, but what is stored? • Think of picas a table with 192 rows and 256 columns. • Each “cell” in the table tells the color of that pixel.
Scribbler Pictures • Look at this picture: • It’s easy to see the blue chair, the red column and the door but all the computer sees is 49,152 little squares of color.
Scribbler Picture • Pixels are numbered starting with the upper left corner
Looking at a picture on the Screen • When you issue the show(pic) command you can click on the picture, see the pixel selected and R, G, B values for that pixel Red Green Pixel Blue
Looking at a picture on the Screen • Pure white is (255, 255, 255) • Pure black is (0, 0, 0)
Myro Image Processing Functions • Myro commands you can use to analyze a image: getWidth(pic) – Returns the width of the picture width = getWidth(pic) getHeight(pic) – Returns the height of the picture height = getHeight(pic) getPixel(pic, x, y) – Returns the pixel at specified x- and y- locations pixel = getPixel(pic, x, y) getRGB(pixel) – Returns the red, green and blue values of the pixel (between 0 and 255). r, g, b = getRGB(pixel)
How to look at every pixel in picture • To scan every pixel in a picture you need a pair of nested for loops: for x in range(256): for y in range(192): pixel = getPixel(pic, x, y) r, g, b = getRGB(pixel) • r now contains the red value, g the green value and b the blue value for that pixel.
Summary • Digital pictures are actually just a combination of tiny dots called pixels • Each pixel has a single color associated with it. • Colors are combinations of red, green and blue. • Each color has a value of 0 (no color) to 255 (max) • Scribbler pictures are 256 pixels wide and 192 pixels high for a total of 49,152 pixels. • getPixel(pic, x, y) and getRGB(pixel) can be used to analyze the colors in a picture
Rest of Today Write a program to: • Take a picture that contains the colors in the front of the room. Look at the red cone. • Display the picture on the screen • Write a program to analyze the picture. If the red value is greater than 250 then print out the pixel and red, green, and blue values. print "Pixel is (", x, ", ", y, ") RGB is ", r, g, b • Assumes the variables x, y, r, g, and b are set. • As a team answer this question: • Is checking the R value sufficient for finding red? • If not what other criteria needs to be considered?
Rest of Today • Repeat for the other colors. What criteria can be used to distinguish the blue, green, purple and orange papers.