Title: Digital Image Processing Fundamentals
1Chapter 5
- Digital Image Processing Fundamentals
2Learning Goals
- The human visual system
- Digitizing images
- Display of Images
3Trading an eye for an ear
4An eye is a Multi-mega pixel camera
- It has a lens (adjustable zoom)
- It has an automatic f-stop (iris 2-8 mm)
- It has a sensor plane (100 million pixels)
- The sensor has a transfer function senstive to
mesopic range 380 to about 700 nm
5The eyes have a USB2 data rate!
- 250,000 neurons in the optic nerve
- variable voltage output on EACH nerve
- 17.5 million neural samples per second
- 12.8 bits per sample
- 224 Mbps, per eye (a 1/2 G bps system!).
- Compression using lateral inhibition between the
retinal neurons
6Response curves
- Eye has Gaussian response to light.
- Gives rise to biologically motivated image
processing
7Quantization of an Image
- Computers use digital cameras -gt quantization
8Sampling an Image
9Samplingconvolution w pulse train
10Quantization Error is visible
11Displays
- Color Monitors are made for people
12Chapter 6-7
- Opening and Saving Images
13Chapter 8 Convolutionwith a kernel, g(x)
14Region of Support
- The region of support is defined as that area of
the .kernel which is non-zero - linear convolutionsignal has infinite extent
but kernel has finite support - If function has finite region of support we have
compact support
15Real images have finite region of support
- But we treat them as periodic and infinite!
- We repeat kernels so that they have the same
period as the images. - We call this cyclic convolution.
16Convolution in 2D
17Avoid the Mod op
18What is wrong with avoiding the mod op?
- How do I find the center of the kernel?
19Cyclic Convolution
20Implementing Convolution
for(int y 0 y lt height y) for(int
x 0 x lt width x) sum 0.0
for(int v -vc v lt vc v)
for(int u -uc u lt uc u)
sum fcx(x-u) cy(y-v) k uucvvc
if (sum lt 0) sum 0 if (sum gt 255)
sum 255 hxy (short)sum
21What happens to the image if you ignore the wrap?
22Cyclic Convolution keeps the edges
23Can you think of a better way to implement
convolution?
- Keep the edges!
- Dont use the mod operation.
- How about growing the image by the size of the
kernel2?
24Convolution is slow, how can I speed it up?
25(No Transcript)