Introduction to Computer Science – Chapter 10

1 / 11

# Introduction to Computer Science – Chapter 10 - PowerPoint PPT Presentation

Introduction to Computer Science – Chapter 10. CSc 2010 Spring 2011 Marco Valero. Overview. Review image basics Making pictures Image processing Shrinking and enlarging Blurring and sharpening Negative and embossing Robot vision. Image basics.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Introduction to Computer Science – Chapter 10' - braima

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Overview

Review image basics

Making pictures

Image processing

Shrinking and enlarging

Blurring and sharpening

Negative and embossing

Robot vision

Image basics

We used takePicture and show to respectively take and show pictures already

We’ve also seen savePicture as a means to save a snapshot to disk

makePicture(<filename>) will load a picture from disk and return a picture object

myPic = makePicture(pickAFile())

Image basics

getHeight(<pic>) and getWidth(<pic>)

show(<pic>,<title>)

We can call show(myPic, ‘my title’) to create a window with a title

Making pictures

Rather than taking pictures, we can create our own

width = height = 100

newPic = makePicture(width, height, black)

RGB

Each is a byte, 0-255

We can loop through each pixel just like a matrix and change the value

Image processing

We can think of the bitmap as a matrix then any transformation from one picture to another is a matrix transformation

500x500 pixel bitmap

250k pixels

If 10 operations per transformation that’s 2.5 mil ops!

Image processing is is intensive

Shrinking & enlarging

If we wanted to shrink a given n x n image by a factor of f

Result size is n/f x n/f

Bitmap[x*f, y*f] -> NewBitmap[x, y]

Enlarging is the inverse

Result size is n*f x n*f

Bitmap[x/f, y/f] -> NewBitmap[x, y]

Blurring & sharpening

Pixel transformation as a result of its local neighbors’ values

Blurring is done by setting a pixels value to the averages of its neighbors

V = sum([getRed(up),getRed(left),…]) / 5

Sharpening is done by subtracting the sum of its neighbors

V = 5*getRed(self) – sum([neighborvalues])

Negative & embossing

To create a negative of an image we simply subtract 255 from the current value

V = 255 – getRed(pixel)

Creating an embossed effect is done by subtracting a neighbors value from a pixel

V = getRed(pixel) – getRed(neighbor)

Robot vision

Are computers good at recognizing objects?

Are _we_ good at recognizing objects?

What would a simple tracking code look like?

Robot vision

What if we only focused on the object?

We can use high contrast filter

What are the issues with this?

Blob filtering

takePicture(‘blob’)

Compare to older program