introduction to electrical and computer engineering jan p. allebach school of electrical and...

38
Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering [email protected]

Upload: angel-dixon

Post on 25-Dec-2015

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu

Introduction to electrical and computer engineering

Jan P. Allebach

School of Electrical and Computer Engineering

[email protected]

Page 2: Introduction to electrical and computer engineering Jan P. Allebach School of Electrical and Computer Engineering allebach@ecn.purdue.edu

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

That’s all!

Thanks for your attention Now let’s try some of these ideas out!