Computing for Engineers in Python

1 / 33

# Computing for Engineers in Python - PowerPoint PPT Presentation

Computing for Engineers in Python. Lecture 10 : Signal (Image) Processing. Autumn 2011-12. Some slides incorporated from Benny Chor’s course. Lecture 9: Highlights. Sorting, searching and time complexity

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Computing for Engineers in Python' - makan

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Computing for Engineers in Python

Lecture 10: Signal (Image) Processing

Autumn 2011-12

Some slides incorporated from Benny Chor’s course

Lecture 9: Highlights

• Sorting, searching and time complexity
• Preprocessing(sorting) the data enables fast(O(log2n)) access to what we are interested in (searching)
• Binary search algorithm + time complexity analysis
• Comparing recursive vs. iterative implementations efficiency
• Bubble sort + time complexity analysis
• Is there a faster sorting algorithm?
• Yes! (Quick Sort in tirgul)
• Comparing Bubble sort to sorted efficiency
• Generic sorting

2

More Sorting Algorithms

• Insertion, Selection O(n2) in tirgul
• Quick sort O(nlog2n) on average in tirgul
• Average versus worst case analysis
• "בהזדמנות" (maybe next week)
• Merge sort O(nlog2n) worst case
• Can we do better than O(nlog2n) in general?
• Bucket sort

3

Signal Processing

• In the physical world, any quantity measurable through time or over space can be taken as a signal
• Signals are or electrical representations of time-varying or spatial-varying physical quantities
• Signal processing: applying mathematical techniques for the extraction, transformation and interpretation of signals, in either discrete (digital) or continuous (analog) time

4

Digital Images

• Digital image is a numeric representation of a two-dimensional image
• Examples: photos, microscopic, medical, astronomical

5

Image Representation

• Encoded as a n-by-m matrix M
• Each element M[x,y] in an image is called picture element (pixel), representing the light intensity / color at that location
• RGB, gray-level images
• Video – an image for each time t

6

Resolution

Pixel resolution vs. spatial resolution

Pixel resolution == pixel count

depends on properties of the system creating the image, not just the pixel resolution

Same number of pixels, different spatial resolution: http://www.youtube.com/watch?v=i2AQjjZp6Jk

7

Image Quantization

Number of bits per pixel

24 bit RGB

16 colors

Note that both images have the same pixel & spatial resolution

Gray Level Images

• The remaining of class will deal with gray-level images (although can be applicable for color images)
• 8 bits per pixel (256 gray levels), 0 – black, 255 – white
• Other representations:
• Binary – 1bit per pixel
• Some applications use more colors (medical imaging)

9

Image Processing

• Signal processing for which the input is an image
• Typical operations:
• Color corrections / calibration
• Image segmentation
• Image registration / alignment
• Denoising
• Typical applications:
• Machine vision
• Medical image processing
• Face detection
• Augmented reality

11

In Python

• How to handle an image?
• The Python Imaging Library http://www.pythonware.com/products/pil/
• Example tutorial: http://www.geeks3d.com/20100930/tutorial-first-steps-with-pil-python-imaging-library
• The Image Module: http://www.pythonware.com/library/pil/handbook/image.htm
• Capacities:
• Display image
• Basic image processing

12

http://www.pythonware.com/library/pil/handbook/image.htm

http://en.wikipedia.org/wiki/Lenna

13

Edges

• Sharp change in intensity between close pixels
• Denoted edges
• Usually captures much of the meaningful information in the image
• Edge detection algortihms:

Sobel

Lena

Laplacian

18

Blur and Noise

Gaussian blur (sigma = 2)

Gaussian noise

Lena

Salt and pepper noise

20

Credit: Wikipedia

Denoising Algorithms

• Examples:
• Local means: replace observed pixel with neighborhood’s (usually 3x3 mask) average
• Local medians: with neighborhood’s median

21

Denoising Algorithms

• Local means:
• Pros: reduces noise on smooth areas, fast
• Cons: blur edges, sensitivity to extreme values (e.g., as in salt and pepper noise)
• Local medians:
• Pros: preserve edges, not sensitive to extreme values
• Cons: eliminate fine details (contours) in the image, slow

22

Example

In Tirgul

23

Image Manipulation Full Example

http://www.riisen.dk/dop/pil.html

24

Image Segmentation Algorithms

• Thersholding
• Clustering
• Region growing
• Compression-based methods
• Histogram-based methods
• Model-based methods
• Etc.

26

Thresholding

• Simplest segmentation method
• Apply a threshold to turn a gray-scale image into a binary image
• The key is to select the appropriate threshold value
• Popular method – Otsu’s method (maximal variance)

27

Results

TH = 20

TH = 80

TH = 140

TH = 180

30

HW – The Whole Loop

• Input: noisy image
• Output: segmented contours on top of input image
• How?
• Denoising
• Edge detection
• Thresholding (histogram based – Otsu’s algorithm)
• Visualization

31

Real World Application

Face Detection

Credit: Intel Technology Journal, Volume 09, Issue 01

32