1 / 45

Image Processing

Image Processing. A brief introduction (by Edgar Alejandro Guerrero Arroyo). What is an image?. We can think in an image as a two dimensional array of pixels. What is Image Processing?. Image processing is any form of signal processing for which the input is an image.

tanith
Download Presentation

Image Processing

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Image Processing A brief introduction (by Edgar Alejandro Guerrero Arroyo)

  2. What is an image? • We can think in an image as a two dimensional array of pixels.

  3. What is Image Processing? • Image processing is any form of signal processing for which the input is an image. • So...is the image a signal? • Yes it is!! • A image can be tought as a two dimensional signal.

  4. Brief Motivation • Quantization: It’s a signal process of approximating a continuous range of values by a relatively small discrete set of integer values.

  5. Brief Motivation • Image Editing: Alterating the image.

  6. Brief Motivation • High dynamic range image: changing the range of luminances.

  7. Why in Parallel? • It is expensive in time. • Suppose a pix max of 1024x1024 8-bit pixels. • In order to operate every pixel we need to do operations! • We can remember the example of project 1 of class.

  8. Low Level Image Processing • It is natural to think about doing the operations in a image in a pixel level. • There are several low level operations that can be applied in images. • Such operations can be divided depending of in what is the output based. • A single pixel: point processing • A goup of pixels: local operations • All the pixels in the image: global operations

  9. Low Level Image Operations Thresholding • The idea is to define a threshold value. • Later on, all the pixels with values above the predetermined threshold value are kept. • The rest of the pixels are reduce to 0.

  10. Low Level Image Operations Contrast Stretching • The range of the gray-level values is extended. • Therefore the details are more visible. • Original range • Contrast range

  11. Low Level Image Operations Histograms • It’s a function that shows the # of pixels of an image at each gray level. • It is useful to find the variations of gray levels in an image.

  12. Low Level Image Operations Smooothing • It suppresses large fluctuations in intensity over the image area. • It could be achieved by reducing the high frequency contend. • It reduces the noise in the image but blurs it. • A simple technique is to take the mean of a group of pixels as the new value of the central pixel (project 1).

  13. Low Level Image Operations Computing the Mean

  14. Low Level Image Operations Sharpening • It accentuates the transitions enhancing the detail. • One approach is to reduce the low frequence content • Another one isto accentuate changes through differentiation.

  15. Low Level Image Operations Sharpening

  16. Low Level Image Operations Noise Reduction • It suppresses a noise signal present in the image. • The noise signal itself may be a random signal completely uncorrelated with the image signal. • One way to reduce this last is capturating the image several times and taking the averange of each pixel.

  17. Low Level Image Operations Noise Reduction Luminance fluctuations along thin blue and red strips of pixels in the top and the bottom images respectively.

  18. Low Level Image Operations Noise Reduction

  19. Edge Detection • The idea of identify objects from other is clearly quite important. What is an edge? • It’s a significant change in the gray level intensity.

  20. Edge Detection Gradient and Magnitude • Let f(x) be a one-dimentional gray level function. • f '(x) measures the gradient of the transition. • f ''(x) helps to identify the exact position of transition.

  21. Edge Detection Gradient and Magnitude

  22. Edge Detection • But an image is a two dimensional discretized gray level function f(x,y). • The norm of the gradient can be aproximated to reduce computations.

  23. Edge Detection Edge Detection Using Masks • The idea is to use the partial derivates of the function, (discrete). • In this way we can know the difference between neighbouring pixel gray levels in a row and in a column.

  24. Edge Detection Example (Done in class)

  25. Edge Detection Prewitt Operator • As always, using more points we get better results. (Example)

  26. Edge Detection Sobel Operator • Both edge detection and Smoothing.

  27. Edge Detection Sobel Operator

  28. Edge Detection Sobel Operator

  29. Edge Detection Laplace Operator • If the first derivate is good, the second is better. • After it, it’s good to apply an edge detection operator, (threshold is prefered), to get either black or white pixels.

  30. Edge Detection Laplace Operator

  31. The Hough Transform • It ‘s useful to find the parameters of equations of lines that most likely fit the sets of pixels in an image. • The proporse of use this is because is cheaper than using a edge detector in simple lines, (straight lines, circles, etc).

  32. The Hough Transform Example (Done in class) Consider the problem of find the line that contains 3 given points. • For each data point, a number of lines are plotted going through it, all at different angles. • For each solid line a line is plotted which is perpendicular to it and which intersects the origin. • The length and angle of each dashed line is measured. • This is repeated for each data point.

  33. The Hough Transform Example cont (Done in class)

  34. The Hough Transform Example cont. (Done in class)

  35. Fourier Series • Joseph Fourier, (1768-1830), found that every function can be expressed as an infinite sum of Sines and Cosines.

  36. Fourier Transformation • The Fourier transform is an application that sends a complex function f into an “scary” function g as follow: • Brief explanation. (Done in class)

  37. Discrete Fourier Transform • The sequence of N complex numbers X0, ..., XN−1 is transformed into the sequence of N complex numbers X0, ..., XN−1 by the DFT according to the formula: where is a primitive N'th root of unity. • Calculate sequentialy this serie will cost N xN products and N sums => O(N^2)

  38. Discrete Fourier Transform • The Fourier Transform is used if we want to access the geometric characteristics of a spatial domain image. • In the image we can calculate a two dimensional Fourier Transformation (!!!). • But instead, we can calculate the Fourier transformation of rows and columns separately (clever).

  39. Discrete Fourier Transform • The kth element of the DFT is given by: • Then, the vector result can be seen as the dot product of a matrix and a vector.

  40. Discrete Fourier Transform • Therefore, since the DFT can be computed as a matrix product, we can apply a numerical algorithm to achieve this, (maybe with our project 3).

  41. Fast Fourier Transform • This method allows us to find the DFT in O(NLogN), in sequential time, instead of (N^2).

  42. Fast Fourier Transform Binary Algorithm

  43. Fast Fourier Transform Binary Algorithm Analisis • Computation: Given P processors and N points, at each steap each processor will calculate N/P points, (1 sum and 1 product). That’s it O(NLogN). • Communication: if P = N, then communication occurs at each step, one data. That’s it O(N). If P < N, then communication occurs only the first Log P steaps. That’s it O(LogP).

  44. Fast Fourier Transform • The image before and after Fourier Transformation. We take the logarithm after FT, otherwise we will only see a point.

  45. Bibliography • Wikipedia.com • Parallel Programing, Wilkinson & Allen. • Internet

More Related