![Page 1: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/1.jpg)
Introduction to electrical and computer engineering
Jan P. Allebach
School of Electrical and Computer Engineering
![Page 2: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/2.jpg)
Special thanks to
Dan Dickinson Mu Qiao Jennifer Talavage
![Page 3: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/3.jpg)
Synopsis
What is electrical and computer engineering? Digital photography Image enhancement Digital halftoning
![Page 4: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/4.jpg)
What do electrical/computer engineers do?
Analyze and design systems Develop algorithms Write programs Work with people
– Team members– Customers– Management
![Page 5: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/5.jpg)
What skills does an electrical/computer engineer need?
Desire to solve problems, and make things work Willingness to work hard Good math ability Good communications skills Ability to work with others
![Page 6: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/6.jpg)
Technology areas
Materials and devices Circuits and systems Power systems Computers Communications and networking Signal and image processing
![Page 7: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/7.jpg)
Signal and image processing
CD and DVD technologies High definition TV Medical imaging systems
– CAT scan– MRI
MP3 Cell phones Voice recognition and synthesis Digital cameras Inkjet and laser printers
![Page 8: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/8.jpg)
Synopsis
What is electrical and computer engineering? Digital photography Image enhancement Digital halftoning
![Page 9: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/9.jpg)
Anatomy of a film-based camera
SceneLensesIrisColor filmFocal plane
shutter
![Page 10: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/10.jpg)
What’s different about a digital camera?
Replace the film by– detector array– image processing module– digital storage
![Page 11: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/11.jpg)
Detector array
Note that we must demosiac the image to obtain 2048x1536 pixels for each of the R, G, and B frames.
![Page 12: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/12.jpg)
Digitization of the pixel values
Each pixel value is represented by three 8-bit binary numbers
Binary Decimal
0000 0000 00000 0001 10000 0010 20000 0011 30000 0100 40000 0101 50000 0110 60000 0111 7
. . . . . . . . .
1111 1100 2521111 1101 2531111 1110 2541111 1111 255
Associated Color
![Page 13: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/13.jpg)
A picture is worth a lot more than a thousand words!
Total no. pixels = 2048x1536 = 3,145,728 or 3.1 Megapixels.
With 3 bytes/pixel, we have 9.3 Megabytes/image. With image compression, this image can be stored in
about 1 Megabyte A 512 Mbyte flashRAM card will then hold about 500
images.
![Page 14: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/14.jpg)
Synopsis
What is electrical and computer engineering? Digital photography Image enhancement Digital halftoning
![Page 15: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/15.jpg)
Contrast modification
The image is mapped pixel-by-pixel through the transformation curve.
22233334444453332222222666667000Input imageOutput imageGray value transformation
01234567InputOutput00026777
![Page 16: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/16.jpg)
Alternate representation of the grayscale transformation
![Page 17: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/17.jpg)
Contrast enhancement example
Original Image Enhanced Image
![Page 18: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/18.jpg)
Spatial filtering
Each output pixel is a weighted sum of input pixels in neighborhood of output pixel location.
000000000000001111001111001111001111-1-1-1-1-1-1-1-180Filter weightsInput ImageOutput Image
![Page 19: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/19.jpg)
Spatial filtering
000000000000001111001111001111001111-1-1-1-1-1-1-1-180Filter weightsInput ImageOutput Image0000000000
![Page 20: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/20.jpg)
Spatial filtering
000000000000001111001111001111001111-1-1-1-1-1-1-1-180Filter weightsInput ImageOutput Image0000000000-1
![Page 21: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/21.jpg)
Spatial filtering
000000000000001111001111001111001111-1-1-1-1-1-1-1-180Filter weightsInput ImageOutput Image0000000000-1-2
![Page 22: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/22.jpg)
Spatial filtering
000000000000001111001111001111001111-1-1-1-1-1-1-1-180Filter weightsInput ImageOutput Image0000000000-1-2-3-3-3-2-3-3-3
![Page 23: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/23.jpg)
Spatial filtering
000000000000001111001111001111001111-1-1-1-1-1-1-1-180Filter weightsInput ImageOutput Image0000000000-1-2-3-3-3-2-3-3-35
![Page 24: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/24.jpg)
Spatial filtering
000000000000001111001111001111001111-1-1-1-1-1-1-1-180Filter weightsInput ImageOutput Image0000000000-1-2-3-3-3-2-3-3-35333333
![Page 25: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/25.jpg)
Spatial filtering
000000000000001111001111001111001111-1-1-1-1-1-1-1-180Filter weightsInput ImageOutput Image0000000000-1-2-3-3-3-2-3-3-353333330
![Page 26: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/26.jpg)
Spatial filtering
Filter responds only to edges – no response in constant areas.
000000000000001111001111001111001111-1-1-1-1-1-1-1-180Filter weightsInput ImageOutput Image0000000000-1-2-3-3-3-2-3-3-35333333000000000
![Page 27: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/27.jpg)
Sharpening
To sharpen the image, we simply add to it a scaled component of the edge detection result.
0000000000000011110011110011110011110Input ImageSharpened Image00000000001.31111111110Output of edge detection filter
0000000000-1-2-3-3-3-2-3-3-35333333000000000+=0.1x1.31.31.31.31.3-.3-.3-.3-.3-.3-.3-.2-.21.5-.1
![Page 28: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/28.jpg)
Sharpening example
Original Image Sharpened Image
![Page 29: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/29.jpg)
Synopsis
What is electrical and computer engineering? Digital photography Image enhancement Digital halftoning
![Page 30: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/30.jpg)
Digital printing
Each pixel in a monochrome image is represented by a string of eight 0s and 1s.
A monochrome digital printer represents each pixel by a single 0 or 1:– “0” means no colorant at that pixel location– “1” means put a colorant dot at that pixel location
To create the impression of a continuous-tone image, we use a process known as halftoning.
![Page 31: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/31.jpg)
Digital halftoning
The perception of levels of gray intermediate to black or white depends on a local average of the binary texture.
![Page 32: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/32.jpg)
Digital halftoning
Detail is rendered by local modulation of this texture.
![Page 33: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/33.jpg)
Screening is a thresholding process
Simple point-to-point transformation of each pixel in the continuous-tone image to a binary value.
Process requires no memory or neighborhood information.
1 1 1 1
1 3 3 1
1 3 3
1 1 1
1
1
0.5
1.52.5
3.5
1 1 1 1
1 3 3 1
1 3 3
1 1 1
1
1
Continuous-Tone Image
Halftone Image
Compare
0.5
1.52.5
3.5
Threshold Matrix
Threshold
![Page 34: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/34.jpg)
Why not use a single threshold? A single threshold yields only a silhouette
representation of the image. No gray levels intermediate to white or black
are rendered. To generate additional gray levels, the
threshold must be dithered, i.e. perturbed about the constant value.
Continuous-tone original image
Result of applying a fixed threshold at midtone
![Page 35: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/35.jpg)
Basic structure of screening algorithm
1 1 1 1
1 3 3 1
1 3 3
1 1 1
1
1
0.5
1.52.5
3.5
1 1 1 1
1 3 3 1
1 3 3
1 1 1
1
1
Continuous-Tone Image
Halftone Image
Compare
0.5
1.52.5
3.5
Threshold Matrix
The threshold matrix is periodically tiled over the entire continuous-tone image.
![Page 36: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/36.jpg)
How tone is rendered
If we threshold the screen against a constant gray value, we obtain the binary texture used to represent that constant level of absorptance.
12345678910111213141516777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777Threshold MatrixHalftone ImageContinuous-Tone ImageCompare
![Page 37: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/37.jpg)
Dot profile function The family of binary textures used to render each level of constant tone is called the dot profile function. There is a one-to-one relationship between the dot profile and the screen.
12345678910111213141516Threshold MatrixDot Profile
![Page 38: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022012913/56649e025503460f94aecf6a/html5/thumbnails/38.jpg)
That’s all!
Thanks for your attention Now let’s try some of these ideas out!