Sliding Window Filters and Edge Detection Longin Jan Latecki Computer Graphics and Image Processing CIS 601 – Fall 2004.

Slides:



Advertisements
Similar presentations
Boundary Detection - Edges Boundaries of objects –Usually different materials/orientations, intensity changes.
Advertisements

Spatial Filtering (Chapter 3)
Topic 6 - Image Filtering - I DIGITAL IMAGE PROCESSING Course 3624 Department of Physics and Astronomy Professor Bob Warwick.
Image Filtering. Outline Outline Concept of image filter  Focus on spatial image filter Various types of image filter  Smoothing, noise reductions 
EDGE DETECTION ARCHANA IYER AADHAR AUTHENTICATION.
CS 4487/9587 Algorithms for Image Analysis
Digital Image Processing
Multimedia communications EG 371Dr Matt Roach Multimedia Communications EG 371 and EE 348 Dr Matt Roach Lecture 6 Image processing (filters)
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
6/9/2015Digital Image Processing1. 2 Example Histogram.
Computer Vision Group Edge Detection Giacomo Boracchi 5/12/2007
1 Image filtering Hybrid Images, Oliva et al.,
EE663 Image Processing Edge Detection 2 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
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.
CS 376b Introduction to Computer Vision 02 / 27 / 2008 Instructor: Michael Eckmann.
Edge Detection Phil Mlsna, Ph.D. Dept. of Electrical Engineering
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.
CS443: Digital Imaging and Multimedia Filters Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University Spring 2008 Ahmed Elgammal Dept.
Introduction to Computer Vision CS / ECE 181B Thursday, April 22, 2004  Edge detection (HO #5)  HW#3 due, next week  No office hours today.
© 2010 Cengage Learning Engineering. All Rights Reserved.
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.
Image Filtering. Problem! Noise is a problem, even in images! Gaussian NoiseSalt and Pepper Noise.
Edges and Contours– Chapter 7. Visual perception We don’t need to see all the color detail to recognize the scene content of an image That is, some data.
Chapter 3 (cont).  In this section several basic concepts are introduced underlying the use of spatial filters for image processing.  Mainly spatial.
Edge Detection Hao Huy Tran Computer Graphics and Image Processing CIS 581 – Fall 2002 Professor: Dr. Longin Jan Latecki.
Chapter 10: Image Segmentation
Neighborhood Operations
CGMB424: IMAGE PROCESSING AND COMPUTER VISION
Spatial Filtering: Basics
Digital Image Processing Lecture 5: Neighborhood Processing: Spatial Filtering Prof. Charlene Tsai.
Edges. Edge detection schemes can be grouped in three classes: –Gradient operators: Robert, Sobel, Prewitt, and Laplacian (3x3 and 5x5 masks) –Surface.
Detection of nerves in Ultrasound Images using edge detection techniques NIRANJAN TALLAPALLY.
SHINTA P. Juli What are edges in an image? Edge Detection Edge Detection Methods Edge Operators Matlab Program.
Chapter 10, Part I.  Segmentation subdivides an image into its constituent regions or objects.  Image segmentation methods are generally based on two.
Digital Image Processing, 3rd ed. © 1992–2008 R. C. Gonzalez & R. E. Woods Gonzalez & Woods Chapter 3 Intensity Transformations.
CSC508 Convolution Operators. CSC508 Convolution Arguably the most fundamental operation of computer vision It’s a neighborhood operator –Similar to the.
October 7, 2014Computer Vision Lecture 9: Edge Detection II 1 Laplacian Filters Idea: Smooth the image, Smooth the image, compute the second derivative.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Edge Detection and Geometric Primitive Extraction Jinxiang Chai.
Digital Image Processing Lecture 5: Neighborhood Processing: Spatial Filtering March 9, 2004 Prof. Charlene Tsai.
Chapter 9: Image Segmentation
CSE 6367 Computer Vision Image Operations and Filtering “You cannot teach a man anything, you can only help him find it within himself.” ― Galileo GalileiGalileo.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
Course 5 Edge Detection. Image Features: local, meaningful, detectable parts of an image. edge corner texture … Edges: Edges points, or simply edges,
Lecture 04 Edge Detection Lecture 04 Edge Detection Mata kuliah: T Computer Vision Tahun: 2010.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
TOPIC 12 IMAGE SEGMENTATION & MORPHOLOGY. Image segmentation is approached from three different perspectives :. Region detection: each pixel is assigned.
Computer Vision Image Features Instructor: Dr. Sherif Sami Lecture 4.
Instructor: Mircea Nicolescu Lecture 7
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
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.
Sliding Window Filters Longin Jan Latecki October 9, 2002.
Detection of nerves in Ultrasound Images using edge detection techniques NIRANJAN TALLAPALLY.
1 Edge Operators a kind of filtering that leads to useful features.
Spatial Filtering (Chapter 3) CS474/674 - Prof. Bebis.
Image Enhancement in the Spatial Domain.
EDGE DETECTION Dr. Amnach Khawne. Basic concept An edge in an image is defined as a position where a significant change in gray-level values occur. An.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Image Segmentation – Detection of Discontinuities
Image Pre-Processing in the Spatial and Frequent Domain
Digital Image Processing
Computer Vision Lecture 9: Edge Detection II
Dr. Chang Shu COMP 4900C Winter 2008
a kind of filtering that leads to useful features
a kind of filtering that leads to useful features
Linear Operations Using Masks
Image Filtering Readings: Ch 5: 5. 4, 5. 5, 5. 6, , 5
IT472 Digital Image Processing
Presentation transcript:

Sliding Window Filters and Edge Detection Longin Jan Latecki Computer Graphics and Image Processing CIS 601 – Fall 2004

Linear Image Filters Linear operations calculate the resulting value in the output image pixel f(i,j) as a linear combination of brightness in a local neighborhood of the pixel h(i,j) in the input image. This equation is called to discrete convolution: Function w is called a convolution kernel or a filter mask. In our case it is a rectangle of size (2a+1)x(2b+1).

Exercise: Compute the 2-D linear convolution of the following two signal X with mask w. Extend the signal X with 0’s where needed.

Averaging of brightness values is a special case of discrete convolution. For a 3 x 3 neighborhood the convolution mask w is Applying this mask to an image results in smoothing. Matlab example program is filterEx1.mfilterEx1.m Local image smoothing can effectively eliminate impulsive noise or degradations appearing as thin stripes, but does not work if degradations are large blobs or thick stripes. Image smoothing = image blurring

The significance of the central pixel may be increased to better reflect properties of Gaussian noise:

Nonlinear Image Filters Median is an order filter, it uses order statistics. Given an NxN window W(x,y) with pixel (x,y) being the midpoint of W, the pixel intensity values of pixels in W are ordered from smallest to the largest, as follow: Median filter selects the middle value as the value of (x,y).

Morphological Filters

Binary Case  Black pixels have value 0  White (background pixels) have value 1

For comparison see Order Filters on Homework 3 Implement in Matlab a linear filter for image smoothing (blurring) using convolution method (filter2 function). Implement also nonlinear filters: median, opening, and closing. Apply them to images noise_1.gif, noise_2.gif in Compare the results.

Edge Detection What are edges in an image? Edge Detection Edge Detection Methods Edge Operators Matlab Program Performance

What are edges in an image?  Edges are those places in an image that correspond to object boundaries.  Edges are pixels where image brightness changes abruptly. Brightness vs. Spatial Coordinates

More About Edges  An edge is a property attached to an individual pixel and is calculated from the image function behavior in a neighborhood of the pixel.  It is a vector variable (magnitude of the gradient, direction of an edge).

Image To Edge Map

Edge Detection  Edge information in an image is found by looking at the relationship a pixel has with its neighborhoods.  If a pixel’s gray-level value is similar to those around it, there is probably not an edge at that point.  If a pixel’s has neighbors with widely varying gray levels, it may present an edge point.

Edge Detection Methods  Many are implemented with convolution mask and based on discrete approximations to differential operators.  Differential operations measure the rate of change in the image brightness function.  Some operators return orientation information. Other only return information about the existence of an edge at each point.

A 2D grayvalue - image is a 2D -> 1D function v = f(x,y)

Edge detectors locate sharp changes in the intensity function edges are pixels where brightness changes abruptly. Calculus describes changes of continuous functions using derivatives; an image function depends on two variables - partial derivatives. A change of the image function can be described by a gradient that points in the direction of the largest growth of the image function. An edge is a property attached to an individual pixel and is calculated from the image function behavior in a neighborhood of the pixel. It is a vector variable: magnitude of the gradient and direction

The gradient direction gives the direction of maximal growth of the function, e.g., from black (f(i,j)=0) to white (f(i,j)=255). This is illustrated below; closed lines are lines of the same brightness. Boundary and its parts (edges) are perpendicular to the direction of the gradient.

The gradient magnitude and gradient direction are continuous image functions, where arg(x,y) is the angle (in radians) from the x-axis to the point (x,y).

A digital image is discrete in nature, derivatives must be approximated by differences. The first differences of the image g in the vertical direction (for fixed i) and in the horizontal direction (for fixed j) n is a small integer, usually 1. The value n should be chosen small enough to provide a good approximation to the derivative, but large enough to neglect unimportant changes in the image function.

Roberts Operator  Mark edge point only  No information about edge orientation  Work best with binary images  Primary disadvantage: High sensitivity to noise Few pixels are used to approximate the gradient

Roberts Operator (Cont.)  First form of Roberts Operator  Second form of Roberts Operator

Prewitt Operator  Looks for edges in both horizontal and vertical directions, then combine the information into a single metric. Edge Magnitude = Edge Direction =

Sobel Operator  Similar to the Prewitt, with different mask coefficients: Edge Magnitude = Edge Direction =

Kirsch Compass Masks  Taking a single mask and rotating it to 8 major compass orientations: N, NW, W, SW, S, SE, E, and NE.  The edge magnitude = The maximum value found by the convolution of each mask with the image.  The edge direction is defined by the mask that produces the maximum magnitude.

Kirsch Compass Masks (Cont.)  The Kirsch masks are defined as follows:  EX: If NE produces the maximum value, then the edge direction is Northeast

Robinson Compass Masks  Similar to the Kirsch masks, with mask coefficients of 0, 1, and 2:

Sometimes we are interested only in edge magnitudes without regard to their orientations. The Laplacian may be used. The Laplacian has the same properties in all directions and is therefore invariant to rotation in the image. The Laplace operator is a very popular operator approximating the second derivative which gives the gradient magnitude only.

Laplacian Operators  Edge magnitude is approximated in digital images by a convolution sum.  The sign of the result (+ or -) from two adjacent pixels provide edge orientation and tells us which side of edge brighter

Laplacian Operators (Cont.)  Masks for 4 and 8 neighborhoods  Mask with stressed significance of the central pixel or its neighborhood

Performance  Please try the following link Matlab demo. To run type EDguiMatlab demo  Sobel and Prewitt methods are very effectively providing good edge maps.  Kirsch and Robinson methods require more time for calculation and their results are not better than the ones produced by Sobel and Prewitt methods.  Roberts and Laplacian methods are not very good as expected.

Gradient operators can be divided into three categories I. Operators approximating derivatives of the image function using differences. rotationally invariant (e.g., Laplacian) need one convolution mask only. Individual gradient operators that examine small local neighborhoods are in fact convolutions and can be expressed by convolution masks. approximating first derivatives use several masks, the orientation is estimated on the basis of the best matching of several simple patterns. Operators which are able to detect edge direction. Each mask corresponds to a certain direction.

II. Operators based on the zero crossings of the image function second derivative (e.g., Marr-Hildreth or Canny edge detector). III. Operators which attempt to match an image function to a parametric model of edges. Parametric models describe edges more precisely than simple edge magnitude and direction and are much more computationally intensive. The categories II and III will not be covered here;

A Quick Note  Matlab’s image processing toolbox provides edge function to find edges in an image: I = imread('rice.tif'); BW1 = edge(I,'prewitt'); BW2 = edge(I,'canny'); imshow(BW1) figure, imshow(BW2)  Edge function supports six different edge-finding methods: Sobel, Prewitt, Roberts, Laplacian of Gaussian, Zero-cross, and Canny.

Homework 4: Edge Map in Matlab  Select an example image.  Which of the six edge detection method provided by Matlab works best for you.  Show the result of edge map