computing for engineers in python
Post on 13-Jan-2016
53 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
Computing for Engineers in
Python
Autumn 2011-12Some slides incorporated from Benny Chor’s course
Lecture 10: Signal (Image) Processing
2
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
3
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
4
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
• Example signals: radio, telephone, radar, sound, images, video, sensor data
5
Digital Images
• Digital image is a numeric representation of a two-dimensional image
• Examples: photos, microscopic, medical, astronomical
6
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
http://www.youtube.com/watch?v=bgtHKR0aQpQ&feature=related
7
ResolutionPixel resolution vs. spatial resolution
Same number of pixels, different spatial resolution :http://www.youtube.com/watch?v=i2AQjjZp6Jk
depends on properties of the system creating the image, not
just the pixel resolution
Pixel resolution == pixel count
Image QuantizationNumber of bits per pixel
24 bit RGB 16 colors
Note that both images have the same pixel & spatial resolution
9
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)
10
An Example
11
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
12
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:• Read / write images• Display image• Basic image processing
13
Loading and Viewing an Imagehttp://www.pythonware.com/library/pil/handbook/image.htm
http://en.wikipedia.org/wiki/Lenna
14
Access Pixels
15
Create and Save an Image
16
Output
17
Rotating an Image
18
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
19
Edge Detection Example
20
Blur and Noise
Gaussian noise Lena Salt and pepper noise
Gaussian blur (sigma = 2)
Credit: Wikipedia
21
Denoising Algorithms
• Examples:• Local means: replace observed pixel with neighborhood’s
(usually 3x3 mask) average
• Local medians: with neighborhood’s median
x
22
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
x
23
Example
In Tirgul
24
Image Manipulation Full Example
http://www.riisen.dk/dop/pil.html
25
Image Segmentation
26
Image Segmentation Algorithms
• Thersholding• Clustering• Region growing• Compression-based methods• Histogram-based methods• Model-based methods• Etc.
27
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)
28
Example - Thresholding
29
Example - Thresholding
30
Results
TH = 20 TH = 80
TH = 140 TH = 180
31
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
32
Real World ApplicationFace Detection
Credit: Intel Technology Journal, Volume 09, Issue 01
33
top related