Mathematical morphology... M.1 Introduction... M.1 Dilation... M.3 Erosion... M.3 Closing... M.4 Opening... M.5 Summary... M.6

Similar documents
Morphological Image Algorithms

Morphological Image Processing

EE795: Computer Vision and Intelligent Systems

What will we learn? What is mathematical morphology? What is mathematical morphology? Fundamental concepts and operations

ECEN 447 Digital Image Processing

Chapter 9 Morphological Image Processing

Figure 8-7: Cameraman.tif Before and After Remapping, and Widening its Dynamic Range

09/11/2017. Morphological image processing. Morphological image processing. Morphological image processing. Morphological image processing (binary)

Lecture 7: Morphological Image Processing

Introduction. Computer Vision & Digital Image Processing. Preview. Basic Concepts from Set Theory

Binary Shape Characterization using Morphological Boundary Class Distribution Functions

Two Image-Template Operations for Binary Image Processing. Hongchi Shi. Department of Computer Engineering and Computer Science

Morphological Image Processing

morphology on binary images

Machine vision. Summary # 5: Morphological operations

EE 584 MACHINE VISION

Morphological Image Processing

ECG782: Multidimensional Digital Signal Processing

ECG782: Multidimensional Digital Signal Processing

Biomedical Image Analysis. Mathematical Morphology

Morphological Image Processing

Edges and Binary Images

COMPUTER AND ROBOT VISION

EECS490: Digital Image Processing. Lecture #17

C E N T E R A T H O U S T O N S C H O O L of H E A L T H I N F O R M A T I O N S C I E N C E S. Image Operations II

Mathematical morphology (1)

Fuzzy Soft Mathematical Morphology

Extension and VLSI Implementation of the Majority-Gate Algorithm for Gray-Scale Morphological Operations

SECTION 5 IMAGE PROCESSING 2

Digital Image Processing Fundamentals

Babu Madhav Institute of Information Technology Years Integrated M.Sc.(IT)(Semester - 7)

From Pixels to Blobs

Morphological Compound Operations-Opening and CLosing

CS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University

11. Gray-Scale Morphology. Computer Engineering, i Sejong University. Dongil Han

CLASSIFICATION OF BOUNDARY AND REGION SHAPES USING HU-MOMENT INVARIANTS

Image Processing. Bilkent University. CS554 Computer Vision Pinar Duygulu

Blood Vessel Segmentation in Angiograms using Fuzzy Inference System and Mathematical Morphology

Mathematical Morphology a non exhaustive overview. Adrien Bousseau

The. Handbook ijthbdition. John C. Russ. North Carolina State University Materials Science and Engineering Department Raleigh, North Carolina

MORPHOLOGICAL BOUNDARY BASED SHAPE REPRESENTATION SCHEMES ON MOMENT INVARIANTS FOR CLASSIFICATION OF TEXTURES

Improvement of the Majority Gate Algorithm for Grey Scale Dilation/Erosion

Topic 6 Representation and Description

Binary Image Processing. Introduction to Computer Vision CSE 152 Lecture 5

Digital Image Processing

Mathematical Morphology and Distance Transforms. Robin Strand

Digital image processing

Gesture based PTZ camera control

Processing of binary images

Edges and Binary Image Analysis April 12 th, 2018

Research Article Image Segmentation Using Gray-Scale Morphology and Marker-Controlled Watershed Transformation

[ ] Review. Edges and Binary Images. Edge detection. Derivative of Gaussian filter. Image gradient. Tuesday, Sept 16

Detection of Edges Using Mathematical Morphological Operators

Introduction to Medical Imaging (5XSA0)

Finger Print Analysis and Matching Daniel Novák

Binary Image Analysis. Binary Image Analysis. What kinds of operations? Results of analysis. Useful Operations. Example: red blood cell image

Morphological Image Processing GUI using MATLAB

Image Processing (IP) Through Erosion and Dilation Methods

Image Processing Fundamentals. Nicolas Vazquez Principal Software Engineer National Instruments

10.5 Morphological Reconstruction

Morphological Image Processing

11/10/2011 small set, B, to probe the image under study for each SE, define origo & pixels in SE

Chapter 11 Representation & Description

ECE 172A: Introduction to Intelligent Systems: Machine Vision, Fall Midterm Examination

transformation must be reversed if vector is the final data type required. Unfortunately, precision and information are lost during the two transforma

1 Background and Introduction 2. 2 Assessment 2

CITS 4402 Computer Vision

A Visual Programming Environment for Machine Vision Engineers. Paul F Whelan

Lecture: Segmentation I FMAN30: Medical Image Analysis. Anders Heyden

Filters. Advanced and Special Topics: Filters. Filters

Albert M. Vossepoel. Center for Image Processing

Previously. Edge detection. Today. Thresholding. Gradients -> edges 2/1/2011. Edges and Binary Image Analysis

Practical Image and Video Processing Using MATLAB

Cartoon Transformation

Renyan Ge and David A. Clausi

MORPHOLOGICAL EDGE DETECTION AND CORNER DETECTION ALGORITHM USING CHAIN-ENCODING

Getting Started With Images, Video, and Matlab. CSE 6367 Computer Vision Vassilis Athitsos University of Texas at Arlington

International Journal of Advance Engineering and Research Development. Applications of Set Theory in Digital Image Processing

Mingle Face Detection using Adaptive Thresholding and Hybrid Median Filter

Robot vision review. Martin Jagersand

Morphological Image Processing

Lab 2. Hanz Cuevas Velásquez, Bob Fisher Advanced Vision School of Informatics, University of Edinburgh Week 3, 2018

Digital Image Processing COSC 6380/4393

CS534 Introduction to Computer Vision Binary Image Analysis. Ahmed Elgammal Dept. of Computer Science Rutgers University

Detection of Roof Holes and Wall Crack using Shape-Based Method

MORPHOLOGICAL IMAGE INTERPOLATION A study and a proposal

Image Segmentation. Ross Whitaker SCI Institute, School of Computing University of Utah

Separating Touching Objects in Remote Sensing Imagery: The Restricted Growing Concept and Implementations 1

Application of mathematical morphology to problems related to Image Segmentation

Motion Detection Algorithm

Morphological Image Processing

A Fast Algorithm of Neighborhood Coding and Operations in Neighborhood Coding Image. Synopsis. 1. Introduction

Matrices and Digital Images

EDGE BASED REGION GROWING

DILATION AND EROSION OF GRAY IMAGES WITH SPHERICAL MASKS

Digital Image Processing

A Method for Filling Holes in Objects of Medical Images Using Region Labeling and Run Length Encoding Schemes

Programming for Engineers in Python. Recitation 12 Image Processing

Extraction and Recognition of Alphanumeric Characters from Vehicle Number Plate

Chapter 3. Image Processing Methods. (c) 2008 Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Transcription:

Chapter M Misc. Contents Mathematical morphology.............................................. M.1 Introduction................................................... M.1 Dilation..................................................... M.3 Erosion..................................................... M.3 Closing..................................................... M. Opening..................................................... M.5 Summary.................................................... M. Mathematical morphology Introduction The set of methods called mathematical morphology was founded by two researchers in Paris, Georges Matheron and Jean Serra, who were characterizing the geometrical structure of materials such as porous rocks. The techniques blossomed, and now there are several books on the topic [1, ] and review papers [3, ]. These methods are useful for a variety of image processing tasks (e.g., shape and size extraction, noise removal, skeletonization), and is particularly appropriate for real time machine vision applications (e.g., parts inspection, robotics, military systems). They are also useful for medical image analysis e.g. [5, ]. Both binary and gray-scale morphology algorithms have been developed. This summary will focus on the simpler binary case. To describe a LSI system that operates on grayscale images, it suffices to specify the impulse response h[n,m] of that system, and then the input-output relationship is given by the convolution sum: h[n,m] x[n,m] = k= l= We specify binary morphological operations by describing the structuring element. h[k,l] x[n k,m l]. The computation requirement for the dilation and erosion morphology algorithms is O(M N I J) with an M N image and an I J structuring element, which poses a challenge to implement on microprocessors in real time, especially for large structuring elements. One can implement these methods efficiently in hardware, e.g., a VLIW mediaprocessor [7]. In particular, one can implement binary morphology algorithms using a look up table (LUT), which is the essence of MATLAB s approach as well. M.1

M. c J. Fessler, April 1, 005, 11:1 (student version) MATLAB s image processing toolbox has the following binary image operations. applylut bwarea bweuler bwfill bwlabel bwmorph bwperim bwselect dilate erode makelut - Perform neighborhood operations using lookup tables. - Compute area of objects in binary image. - Compute Euler number of binary image. - Fill background regions in binary image. - Label connected components in binary image. - Perform morphological operations on binary image. - Determine perimeter of objects in binary image. - Select objects in binary image. - Perform dilation on binary image. - Perform erosion on binary image. - Construct lookup table for use with applylut. Of these, bwmorph has the following options: BWMORPH Perform morphological operations on binary image. BW = BWMORPH(BW1,OPERATION) applies a specific morphological operation to the binary image BW1. BW = BWMORPH(BW1,OPERATION,N) applies the operation N times. N can be Inf, in which case the operation is repeated until the image no longer changes. OPERATION is a string that can have one of these values: bothat Subtract the input image from its closing bridge Bridge previously unconnected pixels clean Remove isolated pixels (1 s surrounded by 0 s) close Perform binary closure (dilation followed by erosion) diag Diagonal fill to eliminate -connectivity of background dilate Perform dilation using the structuring element ones(3) erode Perform erosion using the structuring element ones(3) fill Fill isolated interior pixels (0 s surrounded by 1 s) hbreak Remove H-connected pixels majority Set a pixel to 1 if five or more pixels in its 3-by-3 neighborhood are 1 s open Perform binary opening (erosion followed by dilation) remove Set a pixel to 0 if its -connected neighbors are all 1 s, thus leaving only boundary pixels shrink With N = Inf, shrink objects to points; shrink objects with holes to connected rings skel With N = Inf, remove pixels on the boundaries of objects without allowing objects to break apart spur Remove end points of lines without removing small objects completely. thicken With N = Inf, thicken objects by adding pixels to the exterior of objects without connected previously unconnected objects thin With N = Inf, remove pixels so that an object without holes shrinks to a minimally connected stroke, and an object with holes shrinks to a ring halfway between the hold and outer boundary tophat Subtract the opening from the input image

c J. Fessler, April 1, 005, 11:1 (student version) M.3 Dilation The dilation operation is akin to convolution but with a logical OR replacing the usual multiply and add. 0 1 0 Example. Using the cross structuring element 1 1 1, we can write dilation as follows: 0 1 0 { 1, if any of {x[n,m],x[n 1,m],x[n + 1,m],x[n,m 1],x[n,m + 1]} are 1 { 1, x[n,m] +x[n 1,m] +x[n + 1,m] +x[n,m 1] +x[n,m + 1] 1 where h[n,m] is the structuring element defined above. We also write: { 1, (x h)[n,m] 1 x[n,m] h[n,m]. The convolution form is not computationally efficient, but is convenient when working with a software package that includes convolution but not binary morphology methods (e.g., if you do not have MATLAB s image processing toolbox). Explain lookup table approach. Easy to implement using PLA s for example. Example. For the above example, how many entries in table??? Erosion The erosion operation is akin to convolution but with a logical AND replacing the usual multiply and add. 0 1 0 Example. Using the cross structuring element 1 1 1, we can write erosion as follows: 0 1 0 { 1, if all of {x[n,m],x[n 1,m],x[n + 1,m],x[n,m 1],x[n,m + 1]} are 1 { 1, x[n,m] +x[n 1,m] +x[n + 1,m] +x[n,m 1] +x[n,m + 1] == 5 where h[n,m] is the structuring element defined above. We also write: { 1, (x h)[n,m] == 5 x[n,m] h[n,m].

M. c J. Fessler, April 1, 005, 11:1 (student version) Closing A closing is a dilation followed by an erosion: close(x) = erode(dilate(x)) Example. Suppose we are developing an image processing method to inspect a part such as a circuit board for defects consisting of holes (of single-pixel size for example). First dilate then erode the following image, and then look for places where they differ (XOR). Original image After dilation After erosion (closed) Difference

c J. Fessler, April 1, 005, 11:1 (student version) M.5 Opening A opening is an erosion followed by a dilation: open(x) = dilate(erode(x)). Example. Looking for extra solder spots on a circuit board (features that are smaller than a certain structuring element). First erode then dilate the following image, and then look for places where they differ (XOR). Original image After erosion 1 1 After dilation (opened) 1 1 Difference 1 1 1 1

M. c J. Fessler, April 1, 005, 11:1 (student version) Summary This is a rich field, with many interesting properties of the operators. Here are a few. First, and are shift invariant (but nonlinear), and associative: (X A) B = X (A B) (X A) B = X (A B) These properties spawned considerable work in decomposing large structuring elements into an equivalent sequence of smaller elements to save computation / lookup table size. (The motivation is similar to row-column decomposition for the FFT, or the use of separable filters.) Closing X A (X A) A (X A) A = (X A). Opening X A (X A) A (X A) A = (X A). Thus, closing and opening are idempotent operations. What LSI systems are idempotent??? Bibliography [1] J. Serra. Image analysis and mathematical morphology. Academic, London, 19. [] H. J. A. M. Heijmans. Morphological image operators. Academic Press, New York, 199. [3] H. J. A. M. Heijmans. Mathematical morphology: a modern approach in image processing based on algebra and geometry. SIAM Review, 37(1):1 3, March 1995. [] R. M. Haralick, S. R. Sternberg, and X. Zhuang. Image analysis using mathematical morphology. IEEE Trans. Patt. Anal. Mach. Int., 9():53 50, 197. [5] J. G. Thomas, R. A. Peters, and P. Jeanty. Automatic segmentation of ultrasound images using morphological operators. IEEE Trans. Med. Imag., ():, June 1991. [] B. D. Thackray and A. C. Nelson. Semi-automatic segmentation of vascular network images using a rotating structuring element (ROSE) with mathematical morphology and dual feature thresholding. IEEE Trans. Med. Imag., 1(3):35, September 1993. [7] G. York, R. Managuli, and Y. Kim. Fast binary and gray-scale mathematical morphology on VLIW media processors. In spie-35, pages 5 55, 1999.