630 likes | 758 Vues
This chapter delves into the essentials of digital image processing, starting with the intricate workings of the human visual system. It explores how images are digitized and displayed, likening human perception to a multi-mega pixel camera. Key concepts include sampling, quantization, and convolution, alongside the response characteristics of the eyes. The text emphasizes practical implications, such as effective image displays. It also introduces essential filtering methods like blurring and median filtering, addressing their significance in noise reduction and image enhancement.
E N D
Chapter 5 Digital Image Processing Fundamentals
Learning Goals • The human visual system • Digitizing images • Display of Images
An 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
The 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
Response curves • Eye has Gaussian response to light. • Gives rise to biologically motivated image processing
Quantization of an Image • Computers use digital cameras -> quantization
Displays • Color Monitors are made for people
Chapter 6-7 • Opening and Saving Images
Convolution 1D and 2D signal processing
Convolution Thm multiplication in the time domain = convolution in the frequency domain
Spectrum reproduced spectrum to be reproduced at intervals
Region of Support • The region of support is defined as that area of the .kernel which is non-zero • linear convolution:=signal has infinite extent but kernel has finite support • If function has finite region of support we have compact support
Real 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.
What is wrong with avoiding the mod op? • How do I find the center of the kernel?
Implementing Convolution for(int y = 0; y < height; y++) { for(int x = 0; x < width; x++) { sum = 0.0; for(int v = -vc; v <= vc; v++) for(int u = -uc; u <= uc; u++) sum += f[cx(x-u) ][cy(y-v)] * k[ u+uc][v+vc]; if (sum < 0) sum = 0; if (sum > 255) sum = 255; h[x][y] = (short)sum; } }
Can you think of a better way to implement convolution? • Keep the edges! • Don’t use the mod operation. • How about growing the image by the size of the kernel*2?
Convolution is slow, how can I speed it up? • JAI! • FFT!? • Other ideas?
Chapter 9 • Spatial Filters • Blurring • Median Filtering • Hi-pass filtering • SpatialFilterFrame and JAI
Why Blur an Image? • Remove Noise • Other ideas?