computing for engineers in python n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Computing for Engineers in Python PowerPoint Presentation
Download Presentation
Computing for Engineers in Python

Loading in 2 Seconds...

play fullscreen
1 / 33

Computing for Engineers in Python - PowerPoint PPT Presentation


  • 110 Views
  • Uploaded on

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

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

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


An Image/Link below is provided (as is) to download presentation

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

Computing for Engineers in Python

Lecture 10: Signal (Image) Processing

Autumn 2011-12

Some slides incorporated from Benny Chor’s course

slide2

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

slide3

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

slide4

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

4

slide5

Digital Images

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

5

slide6

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

6

slide7

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

slide8

Image Quantization

Number of bits per pixel

24 bit RGB

16 colors

Note that both images have the same pixel & spatial resolution

slide9

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

slide11

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

slide12

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

12

slide13

Loading and Viewing an Image

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

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

13

slide18

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

slide20

Blur and Noise

Gaussian blur (sigma = 2)

Gaussian noise

Lena

Salt and pepper noise

20

Credit: Wikipedia

slide21

Denoising Algorithms

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

21

slide22

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

slide23

Example

In Tirgul

23

slide24

Image Manipulation Full Example

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

24

slide26

Image Segmentation Algorithms

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

26

slide27

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

slide30

Results

TH = 20

TH = 80

TH = 140

TH = 180

30

slide31

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

slide32

Real World Application

Face Detection

Credit: Intel Technology Journal, Volume 09, Issue 01

32