Upload
brandy
View
51
Download
0
Tags:
Embed Size (px)
DESCRIPTION
A Spreadsheet-based Manipulative. Support for Teaching Convolution STEM Teaching and Learning Conference March 7, 2014 Georgia Gwinnett College School of Science and Technology Dr. Jim Rowan. Sections of today’s talk. -A moment about GGC and Digital Media - PowerPoint PPT Presentation
Citation preview
A Spreadsheet-based Manipulative
Support for Teaching ConvolutionSTEM Teaching and Learning Conference
March 7, 2014
Georgia Gwinnett CollegeSchool of Science and Technology
Dr. Jim Rowan
Sections of today’s talk
-A moment about GGC and Digital Media
-About blurring images before digital imagesCameraArtistically
-About blurring digital images
-The powerpoint manipulative
GGC and Digital Media
GGC has been built from the ground up since it’s founding in 2005
I arrived in 2007 before any classes were being offered to Freshmen or Sophomores
This was an extraordinary opportunity
Digital Media, a sophomore level class, was my choice
GGC and Digital MediaTwo parts: Projects and Theory
Projects: Using Open Source software…
Audacity for audioInkscape for 2D vector graphics
GIMP for bitmapped graphicsBlender for 3D animation
Theorylook under the coversknow a little about what is going onstrip away the “magic”banish the wizardsempowering students
GGC and Digital MediaIn this class we deal with bitmapped images how they are stored on a computer how to manipulate them
how to do editing
Part of the editing involves the use of filters
One of the filters we use on a project is blur
So… The question isHow does a digital image get blurred?
Image Blur…How does this happen?
Pre-Digital Image Blur: The entire image
Photographically you can de-focus the lens
If you are an aging diva you can insist that vaseline be applied to the lens to get this “soft” focus
imageSource
Pre-Digital Image Blur: Just the background
Photographically you can adjust the F stop
imageSource
Pre-Digital Image Blur: Artistically
You can use your fingers to smooth and spread out the charcoal
Image Blur: Digital?You can’t reach into the computer to smear the charcoal… What do you do?
The simple answer is use some image software…
But how doesthat work?
Digital BlurBlur (as well as many other digital image filters) use a process known as convolution
Convolution is simple…it’s just multiplication and addition
Convolution is hard…there’s a lot to keep up with
Is a huge collection of numbersIn the case of 24 bit color depth there are 3 bytes
-one for red-one for green-one for blue
for each pixel!
This image measures1983 X 2252 pixels
Doing the math you get4,465,716 pixels anda file size of 4,465,716 X 3 or13,397,148 bytes
Underlying any digital image…
Homing in on the car’s front grillIf you drill down you can finally see the pixels and the numbers that define the colors
Digital BlurBlur is accomplished by applying a “convolution matrix” to every pixel of the image to create a new blurred image
This convolution matrix is a square matrixthat contains numbers that frequently add
up to 1can be negativecan be as small as 3 X 3can be much larger
The choice of convolution matrix determines the affect that it has on the image
GIMP Convolution MatrixGIMP allows up to a 5 X 5 convolution matrix as well as showing a preview.Design and test your own. BUT how does it work?
Showing how it worksTo show the underlying workings of convolution simplifications must be made
-Use a 3 X 3 convolution matrix-Operate on black/white/grey scale images
-each pixel then has only one numberassociated with it
-Select a very small but representative sample of the original image
-Calculate only a few but representativepixels in the new blurred image
-Extrapolate the result to the rest of the image
A simple example:A two pixel wide horizontal line
The image The underlying numbers
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 2550 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
The convolution matrix
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 2550 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
0 1/3 0
0 1/3 0
0 1/3 0
X
To calculate a single pixel (X) in the new blurred image you need center the matrix over the pixel of interest and then multiply each cell of the matrix by the associated color value of it’s underlying pixel and then add all 9 of these up
The calculations are blinding!
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 2550 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
0 1/3 0
0 1/3 0
0 1/3 0
X
That’s a lot of work to make my point!Students get lost in the trees and miss the forest!
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 2550 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
0 1/3 0
0 1/3 0
0 1/3 0
X
Instead use a powerpoint slide to do the calculation
It is much easier to keep track of where you are… short enough to make the point
Made easier with powerpoint!
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 2550 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
0 1/3 0
0 1/3 0
0 1/3 0
X
Select the convolution matrix
Made easier with powerpoint!
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 2550 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
0 1/3 0
0 1/3 0
0 1/3 0X
Drag and center the matrix over the pixel of interest in the original image…
You can “see” the multiplications and the additions
Made easier with powerpoint!
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 2550 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255
0 1/3 0
0 1/3 0
0 1/3 0170
You can “see” the multiplications!
0X255 + 1/3X255 + 0X255 +0X255 + 1/3X255 + 0X255 +0X0 + 1/3X0 + 0X0 = 85 + 85 = 170
This method made a HUGE differencein student success
One Complete Example!
0/9 3/9 0/9
0/9 3/9 0/9
0/9 3/9 0/9X
255` 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255` 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0/9 3/9 0/9
0/9 3/9 0/9
0/9 3/9 0/9
X
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0/9 3/9 0/9
0/9 3/9 0/9
0/9 3/9 0/9
255
0/9 x 255 + 3/9 x 255 + 0/9 x 255 +0/9 x 255 + 3/9 x 255 + 0/9 x 255 + 0/9 x 255 + 3/9 x 255 + 0/9 x 255 =
0 + 85 + 0 +0 + 85 + 0 +0 + 85 + 0 = 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0/9 3/9 0/9
0/9 3/9 0/9
0/9 3/9 0/9
255
X
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0/9 3/9 0/9
0/9 3/9 0/9
0/9 3/9 0/9
255
1700/9 x 255 + 3/9 x 255 + 0/9 x 255 +0/9 x 255 + 3/9 x 255 + 0/9 x 255 + 0/9 x 0+ 3/9 x 0 + 0/9 x 0=
0 + 85 + 0 +0 + 85 + 0 +0 + 0 + 0 = 170
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0/9 3/9 0/9
0/9 3/9 0/9
0/9 3/9 0/9
255
170
X
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0/9 3/9 0/9
0/9 3/9 0/9
0/9 3/9 0/9
255
170
1700/9 x 255 + 3/9 x 255 + 0/9 x 255 +0/9 x 0 + 3/9 x 0+ 0/9 x 0+ 0/9 x 255 + 3/9 x 255 + 0/9 x 255 =
0 + 85 + 0 +0 + 0 + 0 +0 + 85+ 0 = 170
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0/9 3/9 0/9
0/9 3/9 0/9
0/9 3/9 0/9
255
170
170
X
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0/9 3/9 0/9
0/9 3/9 0/9
0/9 3/9 0/9
255
170
170
170
0/9 x 0 + 3/9 x 0 + 0/9 x 0 +0/9 x 255 + 3/9 x 255 + 0/9 x 255 + 0/9 x 255 + 3/9 x 255 + 0/9 x 255 =
0 + 0 + 0 +0 + 85+ 0 +0 + 85+ 0 = 170
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0/9 3/9 0/9
0/9 3/9 0/9
0/9 3/9 0/9
255
170
170
170
X
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0/9 3/9 0/9
0/9 3/9 0/9
0/9 3/9 0/9
255
170
170
170
255
0/9 x 255 + 3/9 x 255+ 0/9 x 255 +0/9 x 255 + 3/9 x 255 + 0/9 x 255 + 0/9 x 255 + 3/9 x 255 + 0/9 x 255 =
0 + 85 + 0 +0 + 85 + 0 +0 + 85+ 0 = 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0/9 3/9 0/9
0/9 3/9 0/9
0/9 3/9 0/9
255 255 255 255 255
170 170 170 170 170
170 170 170 170 170
170 170 170 170 170
255 255 255 255 255
This matrix blurs horizontal lines(but not vertical ones!)
Another complete example…Sometimes a mask has no effect
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0/9 0/9 0/9
3/9 3/9 3/9
0/9 0/9 0/9
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255
0/9 0/9 0/9
3/9 3/9 3/9
0/9 0/9 0/9
0/9 x 255 + 0/9 x 255 + 0/9 x 255 +3/9 x 255 + 3/9 x 255 + 3/9 x 255 + 0/9 x 255 + 0/9 x 255 + 0/9 x 255 =
0 + 0 + 0 +85 + 85 + 85 +0 + 0 + 0 = 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255
255
0/9 0/9 0/9
3/9 3/9 3/9
0/9 0/9 0/9
0/9 x 255 + 0/9 x 255 + 0/9 x 255 +3/9 x 255 + 3/9 x 255 + 3/9 x 255 + 0/9 x 255 + 0/9 x 255 + 0/9 x 255 =
0 + 0 + 0 +85 + 85 + 85 +0 + 0 + 0 = 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255
255
0
0/9 0/9 0/9
3/9 3/9 3/9
0/9 0/9 0/9
0/9 x 255 + 0/9 x 255 + 0/9 x 255 +3/9 x 0+ 3/9 x 0+ 3/9 x 0+ 0/9 x 255 + 0/9 x 255 + 0/9 x 255 =
0 + 0 + 0 +0 + 0 + 0 +0 + 0 + 0 = 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255
255
0
255
0/9 0/9 0/9
3/9 3/9 3/9
0/9 0/9 0/9
0/9 x 255 + 0/9 x 255 + 0/9 x 255 +3/9 x 255 + 3/9 x 255 + 3/9 x 255 + 0/9 x 255 + 0/9 x 255 + 0/9 x 255 =
0 + 0 + 0 +85 + 85 + 85 +0 + 0 + 0 = 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255
255
0
255
255
0/9 0/9 0/9
3/9 3/9 3/9
0/9 0/9 0/9
0/9 x 255 + 0/9 x 255 + 0/9 x 255 +3/9 x 255 + 3/9 x 255 + 3/9 x 255 + 0/9 x 255 + 0/9 x 255 + 0/9 x 255 =
0 + 0 + 0 +85 + 85 + 85 +0 + 0 + 0 = 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255
255 255 255 255 255
0 0 0 0 0
255 255 255 255 255
255 255 255 255 255
0/9 0/9 0/9
3/9 3/9 3/9
0/9 0/9 0/9
This matrix does nothing to a horizontal line…What about a vertical one?
Other example setupsTry your hand at it!
0 255 255 255 255 255 255
0 0 255 255 255 255 255
0 0 0 255 255 255 255
0 0 0 0 255 255 255
0 0 0 0 0 255 255
0 0 0 0 0 0 255
0 0 0 0 0 0 0
1/3 0 0
0 1/3 0
0 0 1/3
Diagonal Image,Diagonal Mask:
What values would be in the turquoise cells?
0 255 255 255 255 255 255
0 0 255 255 255 255 255
0 0 0 255 255 255 255
0 0 0 0 255 255 255
0 0 0 0 0 255 255
0 0 0 0 0 0 255
0 0 0 0 0 0 0
0 0 1/3
0 1/3 0
1/3 0 0
Diagonal Image,A different diagonal Mask:
What values would be in the turquoise cells?
255 255 255 255 255 255 255
255 255 255 255 255 255 255
255 255 255 255 255 255 255
0 0 0 0 0 0 0
0 0 0 0 0 0 0
255 255 255 255 255 255 255
255 255 255 255 255 255 255
-1 -1 -1
-1 9 -1
-1 -1 -1
A wider horizontal line,The mask can be signednumbers:
What values would be in the turquoise cells?
Further informationA collection of related images and convolution matrices
Further informationMy GGC wiki site
Further informationMy eBook text used to support the Digital Media course