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

Slides:



Advertisements
Similar presentations
Parallel Fast Fourier Transform Ryan Liu. Introduction The Discrete Fourier Transform could be applied in science and engineering. Examples: ◦ Voice recognition.
Advertisements

CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 4 – Digital Image Representation Klara Nahrstedt Spring 2009.
Topic 6 - Image Filtering - I DIGITAL IMAGE PROCESSING Course 3624 Department of Physics and Astronomy Professor Bob Warwick.
Image Processing Lecture 4
CS & CS Multimedia Processing Lecture 2. Intensity Transformation and Spatial Filtering Spring 2009.
Transforming images to images
Chapter 3 Image Enhancement in the Spatial Domain.
Lecture 6 Sharpening Filters
DREAM PLAN IDEA IMPLEMENTATION Introduction to Image Processing Dr. Kourosh Kiani
Frequency Domain The frequency domain
Sliding Window Filters and Edge Detection Longin Jan Latecki Computer Graphics and Image Processing CIS 601 – Fall 2004.
Digital Image Processing
Image Enhancement To process an image so that the result is more suitable than the original image for a specific application. Spatial domain methods and.
CS 376b Introduction to Computer Vision 04 / 11 / 2008 Instructor: Michael Eckmann.
EE663 Image Processing Edge Detection 2 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Digital Image Processing Chapter 4: Image Enhancement in the Frequency Domain.
Digital Image Processing
MSU CSE 803 Stockman Linear Operations Using Masks Masks are patterns used to define the weights used in averaging the neighbors of a pixel to compute.
Digital Image Processing
1 Image Filtering Readings: Ch 5: 5.4, 5.5, 5.6,5.7.3, 5.8 (This lecture does not follow the book.) Images by Pawan SinhaPawan Sinha formal terminology.
CS 376b Introduction to Computer Vision 04 / 14 / 2008 Instructor: Michael Eckmann.
Lecture 2. Intensity Transformation and Spatial Filtering
MSU CSE 803 Linear Operations Using Masks Masks are patterns used to define the weights used in averaging the neighbors of a pixel to compute some result.
ELE 488 F06 ELE 488 Fall 2006 Image Processing and Transmission Linear 2-D Image Filtering 1-D discrete convolution 2-D discrete convolution 2-D.
ECE 472/572 - Digital Image Processing Lecture 4 - Image Enhancement - Spatial Filter 09/06/11.
Chapter 2. Image Analysis. Image Analysis Domains Frequency Domain Spatial Domain.
Chapter 10: Image Segmentation
Presentation Image Filters
CGMB424: IMAGE PROCESSING AND COMPUTER VISION
Digital Image Processing
Digital Image Processing Chapter # 4 Image Enhancement in Frequency Domain Digital Image Processing Chapter # 4 Image Enhancement in Frequency Domain.
1 Chapter 5 Image Transforms. 2 Image Processing for Pattern Recognition Feature Extraction Acquisition Preprocessing Classification Post Processing Scaling.
Discrete Images (Chapter 7) Fourier Transform on discrete and bounded domains. Given an image: 1.Zero boundary condition 2.Periodic boundary condition.
Under Supervision of Dr. Kamel A. Arram Eng. Lamiaa Said Wed
University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Image processing.
Digital Image Processing Chapter 4 Image Enhancement in the Frequency Domain Part I.
ENG4BF3 Medical Image Processing Image Enhancement in Frequency Domain.
DCT.
Digital Image Processing Lecture 10: Image Restoration March 28, 2005 Prof. Charlene Tsai.
Digital Image Processing Lecture 10: Image Restoration
EE 4780 Edge Detection.
Copyright Howie Choset, Renata Melamud, Al Costa, Vincent Lee-Shue, Sean Piper, Ryan de Jonckheere. All Rights Reserved Computer Vision.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Edge Detection and Geometric Primitive Extraction Jinxiang Chai.
7- 1 Chapter 7: Fourier Analysis Fourier analysis = Series + Transform ◎ Fourier Series -- A periodic (T) function f(x) can be written as the sum of sines.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
Chapter 9: Image Segmentation
Fourier Transform.
İmage enhancement Prepare image for further processing steps for specific applications.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
Computer Graphics & Image Processing Chapter # 4 Image Enhancement in Frequency Domain 2/26/20161.
Digital Image Processing Lecture 17: Segmentation: Canny Edge Detector & Hough Transform Prof. Charlene Tsai.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Instructor: Mircea Nicolescu Lecture 7
Digital Image Processing CSC331
September 26, 2013Computer Vision Lecture 8: Edge Detection II 1Gradient In the one-dimensional case, a step edge corresponds to a local peak in the first.
Image Enhancement in the Spatial Domain.
Chapter 10 Image Segmentation
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Digital Image Processing Lecture 10: Image Restoration
IMAGE ENHANCEMENT TECHNIQUES
Histogram Histogram is a graph that shows frequency of anything. Histograms usually have bars that represent frequency of occuring of data. Histogram has.
ENG4BF3 Medical Image Processing
Computer Vision Lecture 9: Edge Detection II
Dr. Chang Shu COMP 4900C Winter 2008
Digital Image Processing
4. Image Enhancement in Frequency Domain
CSC 381/481 Quarter: Fall 03/04 Daniela Stan Raicu
CS 565 Computer Vision Nazar Khan Lecture 9.
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

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. 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. Image processing is any form of signal processing for which the input is an image. So...is the image a signal? So...is the image a signal? Yes it is!! Yes it is!! A image can be tought as a two dimensional signal. A image can be tought as a two dimensional signal.

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

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

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

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

Low Level Image Processing It is natural to think about doing the operations in a image in a pixel level. 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. 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. Such operations can be divided depending of in what is the output based. A single pixel: point processing A single pixel: point processing A goup of pixels: local operations A goup of pixels: local operations All the pixels in the image: global operations All the pixels in the image: global operations

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

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

Low Level Image Operations Histograms It’s a function that shows the # of pixels of an image at each gray level. 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. It is useful to find the variations of gray levels in an image.

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

Low Level Image Operations Computing the Mean

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

Low Level Image Operations Sharpening

Noise Reduction It suppresses a noise signal present in the image. It suppresses a noise signal present in the image. The noise signal itself may be a random signal completely uncorrelated with the image signal. 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. One way to reduce this last is capturating the image several times and taking the averange of each pixel.

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

Low Level Image Operations Noise Reduction

Edge Detection The idea of identify objects from other is clearly quite important. 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. It’s a significant change in the gray level intensity.

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

Edge Detection Gradient and Magnitude

Edge Detection But an image is a two dimensional discretized gray level function f(x,y). 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. The norm of the gradient can be aproximated to reduce computations.

Edge Detection Edge Detection Using Masks The idea is to use the partial derivates of the function, (discrete). 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. In this way we can know the difference between neighbouring pixel gray levels in a row and in a column.

Edge Detection Example (Done in class)

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

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

Edge Detection Sobel Operator

Edge Detection Sobel Operator

Edge Detection Laplace Operator If the first derivate is good, the second is better. 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. After it, it’s good to apply an edge detection operator, (threshold is prefered), to get either black or white pixels.

Edge Detection Laplace Operator

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. 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). The proporse of use this is because is cheaper than using a edge detector in simple lines, (straight lines, circles, etc).

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 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. 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. The length and angle of each dashed line is measured. This is repeated for each data point. This is repeated for each data point.

The Hough Transform Example cont (Done in class)

The Hough Transform Example cont. (Done in class)

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

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

Discrete Fourier Transform The sequence of N complex numbers X 0,..., X N−1 is transformed into the sequence of N complex numbers X 0,..., X N−1 by the DFT according to the formula: The sequence of N complex numbers X 0,..., X N−1 is transformed into the sequence of N complex numbers X 0,..., X N−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) Calculate sequentialy this serie will cost N xN products and N sums => O(N^2)

Discrete Fourier Transform The Fourier Transform is used if we want to access the geometric characteristics of a spatial domain image. 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 (!!!). 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). But instead, we can calculate the Fourier transformation of rows and columns separately (clever).

Discrete Fourier Transform The kth element of the DFT is given by: 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. Then, the vector result can be seen as the dot product of a matrix and a vector.

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). 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).

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

Fast Fourier Transform Binary Algorithm

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). 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). 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).

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

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