Qin-Zhong Ye. Dept. of Electrical Engineering Linkiiping University S LinkGping, Sweden. 2. The signed Euclidean distance transform
|
|
- Barrie Foster
- 5 years ago
- Views:
Transcription
1 The Signed Euclidean Distance Transform and Its Applications QinZhong Ye Dept. of Electrical Engineering Linkiiping University S LinkGping, Sweden Abstract The signed Euclidean distance transform is a modified version of Danielsson s Euclidean distance transform [I]. This distance transform produces a distance map in which each pixel is a vector of two integer components. If a distance map is created inside the objects, the two integer values of a pixel in the distance map represent the displacements of the pixel from the nearest background point in x and y directions, respectively. The unique feature of this distance transform that a vector in the distance map is always pointing to the nearest background point is exploited in several applications, such as the detection of dominant points in digital curves, curve smoothing, computing Dirichlet tessellations and finding convex hulls. 1. Introduction A distance transform produces a distance map from a binary image. For each pixel inside the objects in the binary image, the corresponding pixel in the distance map has a value equal to the minimum distance to the background. Similarly, we can also define a distance map for the background. Generally, we can define a zerodistance set in the distance map. The zerodistance set may correspond to the background or the objects in the binary image depending on the applications. From now on we ll say that a distance map is created in the complement of the zerodistance set. Different metrics have been defined for the discrete plane, for example, city block distance and chessboard distance. These distances deviate quite substantially from the Euclidean distance. Even though they can be used in certain applications, the usual ideal is Euclidean metric. Octagonal distance is a combination of the two distances mentioned above. Still, relative errors between the octagonal distance and the Euclidean distance are about 10% and large absolute errors occur for large distances. Better approximations to the Euclidean metric are proposed by Borgefors [2], [3], but errors are still proportional to distances. Euclidean distance transform on the Cartesian discrete plane was proposed by Danielsson [l] in This transform produces a distance map in which each pixel is a vector of two positive integer components. A fourpoint sequential Euclidean distance mapping algorithm and an eightpoint sequential algorithm are described and analysed in detail in [I]. Parallel Euclidean distance transform algorithms are also discussed [I]. For the eightpoint sequential algorithm, errors of less than 0.09 pixel units may occur at a few very rare locations due to the complex geometry of the objects. For most of practical applications, this algorithm produces an errorfree distance map. A modified version of the ordinary Euclidean distance transform, namely, the signed Euclidean distance transform is also briefly mentioned in 111. A discussion on the signed Euclidean distance transform and its parallel algorithm can also be found in [13]. In this paper, we discuss the signed Euclidean distance transform and its applications. We ll discuss the unique feature of this transform in section 2, where a sequential signed Euclidean distance transform algorithm is described. The implementation of the signed Euclidean distance transform is also discussed. Some of the implementation details are applicable to the original Euclidean distance transform as well. In sections 3 to 6, we describe several algorithms which employ the unique feature of the signed Euclidean distance transform. 2. The signed Euclidean distance transform In the Signed Euclidean Distance Transform, the distance map is defined to be a twocomponent image. The two components represent the displacement in x direction and y direction to the nearest zerodistance point, respectively. We can regard each pixel as a twocomponent vector, that is w, Y) = (L&,Y),L,(Z,Y)), where Lz(z, y) and L,(z, y) are integers. The real distance to the zerodistance set or the length of the vector is defined by We have found that this transform has an interesting and unique feature which has not been explored before, that is, a vector in the distance map serves as a pointer to its origin, i.e. the nearest zerodistance pixel. For a vector (L,(z,y),L,(z,y)) at (z,y), we can find its nearest zerodistance pixel (20, yo) through the following relation: (Z0,YO) = (ZlY) + (L,(Z Y),L,(Z,Y)). CH $ IEEE 49 5
2 This relation is illustrated in Fig. 1. Fig. 1. The eightpoint sequential signed Euclidean distance transform algorithm (8SSED) is described as follows. Initially, for each pixel in the distance map, set L,(z, y) = 0, L,(s, y) = 0, if the pixel (2, y) in the binary image is a zerodistance point; and set L,(s, y) = 2, Ly(z, y) = Z, if the pixel (2, y) is in the complement of the zerodistance set. 2 is a big value which is larger than the predetermined maximum distance. Then, four masks (see Fig. 2) are moved in the distance map in the following way. Starting from the bottom of the map, scan the whole map line by line by moving mask 1 from left to right along a line and then mask 2 from right to left along the same line. When the forward scan is finished, starting from the top of the map, scan the whole map line by line by moving mask 3 from right to left along a line and then mask 4 from left to right along the same line. At each pixel of the map, if the center pixel of the mask is in the complement of the zerodistance set, add each vector of the mask to the corresponding vector in the distance map and find among all summed vectors in the neighborhood defined by the mask the summed vector which has the minimum length. If the minimum length is less than fi(2 l), set the center pixel in the distance map to the summed vector. An example is given in Fig. 3, where a distance map is computed from the two zeredistance points labelled with (0,O). Mask4 " Mask 3 center pixel Mask 1, t Mask 2 Fig. 2. The masks and scan directions for 8SSED $ 2, , , , 2, 0 3, c Ll 1. a , 2 1. : 1, 4 5. ( , 1 2, 1 Fig. 3. An example of the distance map obtained using the algorithm 8SSED. The implementation of the above algorithm requires two squares (multiplications), one addition and one square root to evaluate the length of a vector. This sounds very expensive, but the square root computation is actually not necessary. One can me the sums of squares of the vectors for searching the minimum. The multiplications can be avoided by using differentials. For instance, if L: + Li is saved together with L,, L,, then (LZ + + L; = L: + L; + 2L, + 1. When the two scans (forward and backward scans) are finished, if one needs the length of the vector as an output of the transform, one can obtain the length by the use of a twoindex lookup table. The table is indexed by the two components of a vector and the content of each element in the table is the length of the vector. Only positive integers are used to represent the lengths, which means that rounding is included in the table lookup. 3. Detection of dominant points in digital curves The detection of dominant points in digital curves is to detect high curvature points. The common way to deal with this problem is to follow the curve (or trace the chain code of the curve) and try to measure the angle or curvature at each point of the curve [4,5]. Another way is to find a polygonal approximation of the digitized curve directly [SI. Here, a new algorithm is proposed which utilizes the unique feature of the signed Euclidean distance transform. Algorithm Curvature measurement Suppose the curve is a close digital curve in a binary image. First, regard the curve as the zerodistance set and Then, apply the following procedure. Procedure Compute curvature image Initialization Set every pixel in the curvature image to zero. The curvature image has the same size as the binary image containing the curve. 496
3 Accumulate For each point (z,y) at a certain distance, e.g. at di5 tance 5, to the curve, increment the pixel value by 1 in the curvature image at (z + L,(z,y),y + L,(z,y)), where L,(z,y) and L,(z,y) are the two integer components of a vector in the distance map. Now we have obtained a curvature image. At the points corresponding to the curve in the binary image, we find different values in the curvature image. High values correspond to the points of high curvature and low values to the points of low curvature. The reason for this can be explained as follows. First we discuss the continuous case. The two circles in Fig. 4 have radii rl and r2 respectively. Curvatures of the two circles are respectively c1 = $ and c2 = &. Since rl is less than r2, cl is larger than c2. At distance d to the 4." R,= rl t d I I Fig. 4. Two circles rl and r2. ' R,= r2 + d two circles we draw another two dotted circles RI and R2. If we fix a unit arc length 6 along circles rl and r2, we can find that, corresponding to the unit arc lengths on circles rl and r2, the arc lengths A1 and A2 along circles R1 and R2 are respectively ri+d x6 A1 = rl and A2 zz r2 + x 6. r2 Obviously, A1 is larger than A2. If we compare A1 to the curvature el, we find A1 = 6(1+ d x el). Thus, A1 is a linear function of the curvature c1, and it can be used as a measure of the curvature. This means that the higher the curvature is at a certain portion of the object contour, the more points in the distance map will refer to this very portion. For the practical use, the vectors at distance d to the curve or the vectors within a range of distances can be used to calculate the curvature measure. Obviously, the curvature measure algorithm is not applicable when curves are too close to each other so that there is no room for the distance map. In the procedure Compute curvature image, we have made no distinction between the points at distance d outside and inside the original curve. Actually, one can easily derive an algorithm to accumulate for the points outside the original curve and for those inside the original curve, separately. The dominant points, finally, can be computed from the curvature image by simple thresholding. More sophisticated methods can be invented, however, for instance examining the values of the curvature measure along the curve. 4. Curve smoothing Curve smoothing is desirable if a digitized curve is noisy or an object in a binary image has a noisy boundary. It is also needed if one wants to disregard the details (small features) of a curve. The fact that one can use distance transforms for smoothing the boundary of an object is commonly known (81, but three distance transforms and three thresholdings are needed. Furthermore, the result of the smoothing depends on to which side of the curve the expansion (dilation) is first taken. The following is a new curve smoothing method which uses only once the signed Euclidean distance transform and a traceback procedure. The basic idea of the method is to let two circles from both sides of the original curve touch the curve. Small features of the curve can be touched only from one side of the curve or not touchable from both sides. These small features will be smoothed out by our smoothing method. After the signed Euclidean distance transform, a labeling procedure will label the points of the curve as touchable from outside of the curve (label I), touchable from inside (label 2), touchable from both sides (label 3) and not touchable (label 0). See Fig. 5. Then some interpolated points are found between labeled segments. These points are connected with straight lines or smooth curves. The obtained curve cut away from the original curve all the features smaller than the predetermined diameters of the touching circles. If the interpolated points are connected with straight lines, these lines may form new sharp corners, but the new curve is still a smoothed representation of the original curve. Fig. 5. A labeled curve. Algorithm Curve Smoothing. c n Suppose the curve is a close digital,curve in a binary image. First, regard the curve as the zerodistance set and Then, apply the following procedure. 49 7
4 Procedure Trace back Initialization Set every pixel in a label image to zero. The label image has the same size as the binary image containing the curve. Labeling For each point (z,y) at a certain distance dout, e.g. at distance 10, from outside of the curve, label the pixel with 1 in the label image at (z + L,(z,y),y + L,(z,y)), where L,(z, y) and L,(z, y) are the two integer components in the distance map. For each point (2, y) at a certain distance d;,, e.g. at distance 10, from inside of the curve, label the pixel with 2 in the label image at (z + L,(z,y),y + L,(z,y)). If the pixel in the label image has already been labeled from the outside of the curve, i.e. the value of the pixel is 1, label the pixel with 3. Note that the degree of smoothing depends on dout and din. Segmenting and interpolating In the label image, along the trace of the original curve, find the starting points and end points of segments of label 1. Inside the segments, points of label 0 are ignored. Similarly, find the starting points and end points of segments of label 2. Inside the segments, points of label 0 are ignored. Interpolate between the end point of a segment of label 1 and the starting point of the next segment of label 2 along the curve. Also interpolate between the end point of a segment of label 2 and the starting point of the next segment of label 1 along the curve. Connecting these ordered interpolated points with straight lines or smooth curves, e.g. pieces of the circle of radius 10 or cubic spline curves. Segments of label 3 are touched by the circles of radii dout and din from both sides of the curve, so there is no need to smooth them out and they are plotted at their original positions. The ends of a segment of label 3 are connected to the interpolated points between the ends of the other segments (of label 1 or 2) and the ends of the segment of label 3. A segment of label 3 should be a sequence of connected points of label 3. Points or segments of label 0 between two segments of label 3 are replaced by a straight line connecting the two close ends of the two segments of label 3. Note that one can do the above things by tracing the curve only once. 5. Computing Dirichlet tessellations In image processing, Dirichlet tessellation is mostly used in texture analysis 171. The Dirichlet tessellation is defined as a subdivision of the plane determined by a finite set of distinct points (sites): each point has associated with it the region of the plane nearer to that point than to any other. It has been shown that on the discrete grid, Pseudo Dirichlet tessellations can be computed by using parallel distance transforms (31. A parallel distance transform prop agates the labels of the sites in a label image simultaneously to the computation of the distances to the sites. When the program of the parallel distance transform terminates after a number of iterations, the labeled areas form the tiles of the pseudodirichlet tessellation. This method has an obvious disadvantage: The parallel distance transform algorithms are painstakingly slow if they are implemented on a sequential machine. We have found that sequential noneuclidean distance transforms can also be used for computing the pseudo Dirichlet tessellation. The labels of the sites can be propagated in the two image scans. When propagating a label, if there are two or more points (possibly including the center point) in the neighborhood trying to give different labels to the center pixel, the center pixel will be given a special label indicating that the pixel is at the same distance to two or more sites. The common drawback of the above two methods is the inaccuracy associated with the noneuclidean distance transforms. The sequential signed Euclidean distance transform is well suited for computing Dirichlet tessellations on the discrete grid. The unique feature of the signed Euclidean distance transform fits perfectly in this application: The distances that are propagated across the plane are selfreferencing to their origins. No extra labels are needed. The points which are closest to site i are pointing to the site i with their twocomponent vectors in the distance map. Algorithm Computing Dirichlet tessellations Suppose there are a number of distinctively labeled points (sites) in the original image. First, regard the labeled points as the zerodistance set and Then, apply Procedure Tessellation For each point (z,y) in the tessellation image, set the Fig. 6. Dirichlet tessellation. The black points are the sites. 498
5 value of the pixel equal to the value (label of a site) of the pixel at (z + L2(z, y), y + Ly(z, y)) in the original image, where L,(z, y) and L,(z,y) are the two integer components of a vector in the distance map. The Dirichlet tessellation computed with the above algorithm is shown in Fig A convex hull algorithm Convex hulls have been utilized in various applications [9], [lo]. A convex hull of an arbitrary set S in the real plane is the smallest convex set conu(s) which contains S. A convex hull conu(s) is also defined as the intersection of all the halfplan containing S. In the digital plane, convex hulls are analogously defined, but in a digital plane neither a halfplane nor a segment of straight line is always uniquely defined [9]. One must be careful to allow for quantization effects. To compute a convex hull of a set of points is to find the set of extreme points situated at the border of the convex hull. By employing the unique feature of the signed Euclidean distance transform, we have derived an algorithm for finding the convex hull of an arbitrary object or a set of distinct points in a twodimensional digital plane. S could even be a mixture of these data types. The input data to the algorithm is an N x N binary image with the set S having value 1 and the complement of S having value 0. The new algorithm has three major stages. The first is the Signed Euclidean Distance Transform. The second has two procedures: one finds a starting point and the other collects a sequence of candidate extreme points by tracing the border of the distance map. The third stage is a procedure for finding a convex hull from a polygon [ll]. Algorithm Computing convex hulls First, regard the set S as the sercdistance set and The second stage starts by finding a point (zo,y~) in the bottom edge of the distance map whose pointer points to a zerodistance point with the minimum ycoordinate. Then, the following procedure traces the border of the image in the counterclockwise direction and collects a sequence of candidate points which are close to the border of the image. Procedure Image Border Tracing Starting from the point (zo,yo), the border points of the image are counterclockwise sequentially visited until (20, yo) is reached again. In this sequence of points if two neighboring points (z;, y;) and (z;+l,y;+l) have their vectors pointing to different zerodistance points, the point pointed by (zi,y;) is saved in an input list, i.e. if (zi + LZ(zi,yi),vi + LY(zi,yi)) # (zi+l+ Lz(zi+l, Yi+l),Yi+l+ Ly(Si+l, yi+l))i save (zi + Lz(z;, yi), y; + L,(zi, y;)) in the input list. Now, we have a sequence of n points selected from the original set of points. This reduced sequence of points are the ones which are closest to the border of the image. One may regard these points as the vertices of a polygon. In the third stage, we use the vector crossproduct rule Ill] to check concavities in the polygon. This rule is briefly described as follows. Let (z,, y,) = (SO, yo) so that we have n + 1 points in the sequence. Starting with j = 0, do the following steps (1 4) for every three consecutive points j, j + 1 and j + 2 in the sequence: Step 1. P = (zj+l zj)(~j+2yj+l) + (Yjyj+l)(zj+2 zj+ 1) Step 2. If P > 0 and point j + 2 is the last point in the sequence, stop. Step 3. If P > 0, move one point forward and go to Step 1. Step 4. Delete point j + 1. If j # 0, move one point backward; else move one point forward. Go to Step 1. The detailed convex hull algorithm and a generalized border tracing procedure can be found in ( Conclusions We have described in this paper the signed Euclidean distance transform and some of its applications. The unique feature of the transform has made many applications possible of which the ones discussed in this paper is just a subset. Others, like shape decompositions, skeletonizing will be discussed in forthcoming papers. In the near future, we ll also extend the transform to three dimensions. References [ 1 P.E. Danielsson, =Euclidean Distance Mapping, Computer Graphics and Image Processing 14, 1980, pp (21 G. Borgefors, Distance Transformations in Arbitrary Dimensions, Computer Vision, Graphics and Image Processing 27,1984, pp [3] G. Borgefors, Distance Transformations in Digital Images, CVGIP 34, N0.3, 1986, pp A. Rosenfeld and J.S. Weszka, An Improved Method of Angle Detection on Digital Curves, IEEE Trans. Comput., Vo1.C24, 1975, pp P.V. Sankar and C.V. Sharma, A Parallel Procedure for the Detection of Dominant Points on a Digital Curve, CGIP 7, 1978, pp K. Wall and P.E. Danielsson, A Fast Sequential Method for Polygonal Approximation of Digitised Curves, CGIP 28, 1984, pp N. Ahuja and B.J. Schachter, Pattern Models, John Wiley & Sons, New York, G. Borgefors, Distance Transformations in Digital Images, FOA report, C 30401E1, August A. Rosenfeld and A.C. Kak, Digital Picture Processing, Academic Press, Inc., New York, R.O. Duda and P.E. Hart, Pattern Classification and Scene Analysis, John Wiley, New York, J. Sklansky, Measuring Concavity on a rectangular mosaic, IEEE Trans. Computers, Vol. C21, December 1972, pp Q.Z. Ye, A Convex Hull Algorithm Using the Signed Euclidean Distance Transform,Internal Report,LiTHISY10919, LinkGping University, April H. Yamada, Complete Euclidean Distance Transformation by Parallel Operation, Proc. of 7th Int. Cod. on Pattern Recognition, Montreal, Canada, July 1984, pp
Digital Image Processing
Digital Image Processing Lecture # 4 Digital Image Fundamentals - II ALI JAVED Lecturer SOFTWARE ENGINEERING DEPARTMENT U.E.T TAXILA Email:: ali.javed@uettaxila.edu.pk Office Room #:: 7 Presentation Outline
More informationTopic 6 Representation and Description
Topic 6 Representation and Description Background Segmentation divides the image into regions Each region should be represented and described in a form suitable for further processing/decision-making Representation
More informationFast Distance Transform Computation using Dual Scan Line Propagation
Fast Distance Transform Computation using Dual Scan Line Propagation Fatih Porikli Tekin Kocak Mitsubishi Electric Research Laboratories, Cambridge, USA ABSTRACT We present two fast algorithms that approximate
More informationCompressing 2-D Shapes using Concavity Trees
Compressing 2-D Shapes using Concavity Trees O. El Badawy 1 and M. S. Kamel 2 1 Dept. of Systems Design Engineering. 2 Dept. of Electrical and Computer Engineering. Pattern Analysis and Machine Intelligence
More informationLecture 18 Representation and description I. 2. Boundary descriptors
Lecture 18 Representation and description I 1. Boundary representation 2. Boundary descriptors What is representation What is representation After segmentation, we obtain binary image with interested regions
More information2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into
2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel
More informationDecomposing and Sketching 3D Objects by Curve Skeleton Processing
Decomposing and Sketching 3D Objects by Curve Skeleton Processing Luca Serino, Carlo Arcelli, and Gabriella Sanniti di Baja Institute of Cybernetics E. Caianiello, CNR, Naples, Italy {l.serino,c.arcelli,g.sannitidibaja}@cib.na.cnr.it
More informationcoding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight
Three-Dimensional Object Reconstruction from Layered Spatial Data Michael Dangl and Robert Sablatnig Vienna University of Technology, Institute of Computer Aided Automation, Pattern Recognition and Image
More informationEdge and local feature detection - 2. Importance of edge detection in computer vision
Edge and local feature detection Gradient based edge detection Edge detection by function fitting Second derivative edge detectors Edge linking and the construction of the chain graph Edge and local feature
More informationHierarchical Representation of 2-D Shapes using Convex Polygons: a Contour-Based Approach
Hierarchical Representation of 2-D Shapes using Convex Polygons: a Contour-Based Approach O. El Badawy, M. S. Kamel Pattern Analysis and Machine Intelligence Laboratory, Department of Systems Design Engineering,
More informationCSCI 4620/8626. Coordinate Reference Frames
CSCI 4620/8626 Computer Graphics Graphics Output Primitives Last update: 2014-02-03 Coordinate Reference Frames To describe a picture, the world-coordinate reference frame (2D or 3D) must be selected.
More informationComputing Covering Polyhedra of Non-Convex Objects
Computing Covering Polyhedra of Non-Convex Objects Gunilla Borgefors 1, Ingela Nystrom 2, and Gabriella Sanniti di Baja 3 1: Centre for Image Analysis, Swedish University of Agricultural Sciences Lagerhyddvagen
More informationColor Image Segmentation
Color Image Segmentation Yining Deng, B. S. Manjunath and Hyundoo Shin* Department of Electrical and Computer Engineering University of California, Santa Barbara, CA 93106-9560 *Samsung Electronics Inc.
More informationChapter 11 Arc Extraction and Segmentation
Chapter 11 Arc Extraction and Segmentation 11.1 Introduction edge detection: labels each pixel as edge or no edge additional properties of edge: direction, gradient magnitude, contrast edge grouping: edge
More informationOther Voronoi/Delaunay Structures
Other Voronoi/Delaunay Structures Overview Alpha hulls (a subset of Delaunay graph) Extension of Voronoi Diagrams Convex Hull What is it good for? The bounding region of a point set Not so good for describing
More informationMorphological track 1
Morphological track 1 Shapes Painting of living beings on cave walls at Lascaux [about 1500 th BC] L homme qui marche by Alberto Giacometti, 1948, NOUVELLES IMAGES Editor (1976) Les lutteurs by Honoré
More informationA Note on Fast Raster Scan Distance Propagation on the Discrete Rectangular Lattice
A Note on Fast Raster Scan Distance Propagation on the Discrete Rectangular Lattice F. Leymarie and M. D. Levine January 1992 Abstract The main result of this paper is that simple (raster scan) sequential
More informationMorphological Image Processing
Morphological Image Processing Binary image processing In binary images, we conventionally take background as black (0) and foreground objects as white (1 or 255) Morphology Figure 4.1 objects on a conveyor
More informationChapter 11 Representation & Description
Chain Codes Chain codes are used to represent a boundary by a connected sequence of straight-line segments of specified length and direction. The direction of each segment is coded by using a numbering
More informationEXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006,
School of Computer Science and Communication, KTH Danica Kragic EXAM SOLUTIONS Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006, 14.00 19.00 Grade table 0-25 U 26-35 3 36-45
More informationDigital Image Processing Fundamentals
Ioannis Pitas Digital Image Processing Fundamentals Chapter 7 Shape Description Answers to the Chapter Questions Thessaloniki 1998 Chapter 7: Shape description 7.1 Introduction 1. Why is invariance to
More informationChapter - 2: Geometry and Line Generations
Chapter - 2: Geometry and Line Generations In Computer graphics, various application ranges in different areas like entertainment to scientific image processing. In defining this all application mathematics
More information09/11/2017. Morphological image processing. Morphological image processing. Morphological image processing. Morphological image processing (binary)
Towards image analysis Goal: Describe the contents of an image, distinguishing meaningful information from irrelevant one. Perform suitable transformations of images so as to make explicit particular shape
More informationEECS490: Digital Image Processing. Lecture #23
Lecture #23 Motion segmentation & motion tracking Boundary tracking Chain codes Minimum perimeter polygons Signatures Motion Segmentation P k Accumulative Difference Image Positive ADI Negative ADI (ADI)
More informationChapter 3. Sukhwinder Singh
Chapter 3 Sukhwinder Singh PIXEL ADDRESSING AND OBJECT GEOMETRY Object descriptions are given in a world reference frame, chosen to suit a particular application, and input world coordinates are ultimately
More informationMathematical Morphology and Distance Transforms. Robin Strand
Mathematical Morphology and Distance Transforms Robin Strand robin.strand@it.uu.se Morphology Form and structure Mathematical framework used for: Pre-processing Noise filtering, shape simplification,...
More informationLecture 6: Multimedia Information Retrieval Dr. Jian Zhang
Lecture 6: Multimedia Information Retrieval Dr. Jian Zhang NICTA & CSE UNSW COMP9314 Advanced Database S1 2007 jzhang@cse.unsw.edu.au Reference Papers and Resources Papers: Colour spaces-perceptual, historical
More informationMorphological Image Processing
Morphological Image Processing Ranga Rodrigo October 9, 29 Outline Contents Preliminaries 2 Dilation and Erosion 3 2. Dilation.............................................. 3 2.2 Erosion..............................................
More information6. Object Identification L AK S H M O U. E D U
6. Object Identification L AK S H M AN @ O U. E D U Objects Information extracted from spatial grids often need to be associated with objects not just an individual pixel Group of pixels that form a real-world
More informationHOUGH TRANSFORM CS 6350 C V
HOUGH TRANSFORM CS 6350 C V HOUGH TRANSFORM The problem: Given a set of points in 2-D, find if a sub-set of these points, fall on a LINE. Hough Transform One powerful global method for detecting edges
More informationAlbert M. Vossepoel. Center for Image Processing
Albert M. Vossepoel www.ph.tn.tudelft.nl/~albert scene image formation sensor pre-processing image enhancement image restoration texture filtering segmentation user analysis classification CBP course:
More information6. Concluding Remarks
[8] K. J. Supowit, The relative neighborhood graph with an application to minimum spanning trees, Tech. Rept., Department of Computer Science, University of Illinois, Urbana-Champaign, August 1980, also
More informationAn Efficient Single Chord-based Accumulation Technique (SCA) to Detect More Reliable Corners
An Efficient Single Chord-based Accumulation Technique (SCA) to Detect More Reliable Corners Mohammad Asiful Hossain, Abdul Kawsar Tushar, and Shofiullah Babor Computer Science and Engineering Department,
More informationRobust Shape Retrieval Using Maximum Likelihood Theory
Robust Shape Retrieval Using Maximum Likelihood Theory Naif Alajlan 1, Paul Fieguth 2, and Mohamed Kamel 1 1 PAMI Lab, E & CE Dept., UW, Waterloo, ON, N2L 3G1, Canada. naif, mkamel@pami.uwaterloo.ca 2
More informationOutput Primitives. Dr. S.M. Malaek. Assistant: M. Younesi
Output Primitives Dr. S.M. Malaek Assistant: M. Younesi Output Primitives Output Primitives: Basic geometric structures (points, straight line segment, circles and other conic sections, quadric surfaces,
More informationBoundary descriptors. Representation REPRESENTATION & DESCRIPTION. Descriptors. Moore boundary tracking
Representation REPRESENTATION & DESCRIPTION After image segmentation the resulting collection of regions is usually represented and described in a form suitable for higher level processing. Most important
More informationRange Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation
Obviously, this is a very slow process and not suitable for dynamic scenes. To speed things up, we can use a laser that projects a vertical line of light onto the scene. This laser rotates around its vertical
More informationIntroduction to Computer Vision. Human Eye Sampling
Human Eye Sampling Sampling Rough Idea: Ideal Case 23 "Digitized Image" "Continuous Image" Dirac Delta Function 2D "Comb" δ(x,y) = 0 for x = 0, y= 0 s δ(x,y) dx dy = 1 f(x,y)δ(x-a,y-b) dx dy = f(a,b) δ(x-ns,y-ns)
More informationRenderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005
INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Renderer Implementation: Basics and Clipping David Carr Virtual Environments, Fundamentals Spring 2005 Feb-28-05 SMM009, Basics and Clipping 1
More informationLecture 13 Geometry and Computational Geometry
Lecture 13 Geometry and Computational Geometry Euiseong Seo (euiseong@skku.edu) 1 Geometry a Branch of mathematics concerned with questions of shape, size, relative position of figures, and the properties
More informationIsosurface Rendering. CSC 7443: Scientific Information Visualization
Isosurface Rendering What is Isosurfacing? An isosurface is the 3D surface representing the locations of a constant scalar value within a volume A surface with the same scalar field value Isosurfaces form
More informationComputer Graphics. Chapter 4 Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1
Computer Graphics Chapter 4 Attributes of Graphics Primitives Somsak Walairacht, Computer Engineering, KMITL 1 Outline OpenGL State Variables Point Attributes Line Attributes Fill-Area Attributes Scan-Line
More informationComputer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011
Computer Graphics 1 Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in
More information4.10 INVOLUTE INTERPOLATION (G02.2, G03.2)
B 63014EN/02 POGAMMNG 4. NTEPOLATON FUNCTONS 4.10 NVOLUTE NTEPOLATON (G02.2, G03.2) nvolute curve machining can be performed by using involute interpolation. nvolute interpolation ensures continuous pulse
More informationOn a fast discrete straight line segment detection
On a fast discrete straight line segment detection Ali Abdallah, Roberto Cardarelli, Giulio Aielli University of Rome Tor Vergata Abstract Detecting lines is one of the fundamental problems in image processing.
More informationUPEM Master 2 Informatique SIS. Digital Geometry. Topic 2: Digital topology: object boundaries and curves/surfaces. Yukiko Kenmochi.
UPEM Master 2 Informatique SIS Digital Geometry Topic 2: Digital topology: object boundaries and curves/surfaces Yukiko Kenmochi October 5, 2016 Digital Geometry : Topic 2 1/34 Opening Representations
More informationAlgorithm That Mimics Human Perceptual Grouping of Dot Patterns
Algorithm That Mimics Human Perceptual Grouping of Dot Patterns G. Papari and N. Petkov Institute of Mathematics and Computing Science, University of Groningen, P.O.Box 800, 9700 AV Groningen, The Netherlands
More informationUNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences
UNIVERSITY OF OSLO Faculty of Mathematics and Natural Sciences Exam: INF 4300 / INF 9305 Digital image analysis Date: Thursday December 21, 2017 Exam hours: 09.00-13.00 (4 hours) Number of pages: 8 pages
More informationOpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives.
D Graphics Primitives Eye sees Displays - CRT/LCD Frame buffer - Addressable pixel array (D) Graphics processor s main function is to map application model (D) by projection on to D primitives: points,
More informationCS 231A Computer Vision (Winter 2014) Problem Set 3
CS 231A Computer Vision (Winter 2014) Problem Set 3 Due: Feb. 18 th, 2015 (11:59pm) 1 Single Object Recognition Via SIFT (45 points) In his 2004 SIFT paper, David Lowe demonstrates impressive object recognition
More informationCamera Calibration for Video See-Through Head-Mounted Display. Abstract. 1.0 Introduction. Mike Bajura July 7, 1993
Camera Calibration for Video See-Through Head-Mounted Display Mike Bajura July 7, 1993 Abstract This report describes a method for computing the parameters needed to model a television camera for video
More informationUNIT 2 GRAPHIC PRIMITIVES
UNIT 2 GRAPHIC PRIMITIVES Structure Page Nos. 2.1 Introduction 46 2.2 Objectives 46 2.3 Points and Lines 46 2.4 Line Generation Algorithms 48 2.4.1 DDA Algorithm 49 2.4.2 Bresenhams Line Generation Algorithm
More informationGENERATION OF STRUCTURED BLOCK BOUNDARY GRIDS
Congreso de Métodos Numéricos en Ingeniería 2005 Granada, 4 a 7 de julio, 2005 c SEMNI, España, 2005 GENERATION OF STRUCTURED BLOCK BOUNDARY GRIDS Eça L. 1, Hoekstra M. 2 and Windt J. 2 1: Mechanical Engineering
More informationNearest Neighbor Predictors
Nearest Neighbor Predictors September 2, 2018 Perhaps the simplest machine learning prediction method, from a conceptual point of view, and perhaps also the most unusual, is the nearest-neighbor method,
More informationComputer Graphics. Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1
Computer Graphics Chapter 4 Attributes of Graphics Primitives Somsak Walairacht, Computer Engineering, KMITL 1 Outline OpenGL State Variables Point Attributes t Line Attributes Fill-Area Attributes Scan-Line
More informationMorphological Image Processing
Morphological Image Processing Morphology Identification, analysis, and description of the structure of the smallest unit of words Theory and technique for the analysis and processing of geometric structures
More informationHow to create shapes. Drawing basic shapes. Adobe Photoshop Elements 8 guide
How to create shapes With the shape tools in Adobe Photoshop Elements, you can draw perfect geometric shapes, regardless of your artistic ability or illustration experience. The first step to drawing shapes
More informationLecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10
Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful
More informationBabu Madhav Institute of Information Technology Years Integrated M.Sc.(IT)(Semester - 7)
5 Years Integrated M.Sc.(IT)(Semester - 7) 060010707 Digital Image Processing UNIT 1 Introduction to Image Processing Q: 1 Answer in short. 1. What is digital image? 1. Define pixel or picture element?
More informationA new Eulerian computational method for the propagation of short acoustic and electromagnetic pulses
A new Eulerian computational method for the propagation of short acoustic and electromagnetic pulses J. Steinhoff, M. Fan & L. Wang. Abstract A new method is described to compute short acoustic or electromagnetic
More informationA Vertex Chain Code Approach for Image Recognition
A Vertex Chain Code Approach for Image Recognition Abdel-Badeeh M. Salem, Adel A. Sewisy, Usama A. Elyan Faculty of Computer and Information Sciences, Assiut University, Assiut, Egypt, usama471@yahoo.com,
More informationEstimating the Free Region of a Sensor Node
Estimating the Free Region of a Sensor Node Laxmi Gewali, Navin Rongratana, Jan B. Pedersen School of Computer Science, University of Nevada 4505 Maryland Parkway Las Vegas, NV, 89154, USA Abstract We
More informationA Survey of Light Source Detection Methods
A Survey of Light Source Detection Methods Nathan Funk University of Alberta Mini-Project for CMPUT 603 November 30, 2003 Abstract This paper provides an overview of the most prominent techniques for light
More informationGeometry Vocabulary. acute angle-an angle measuring less than 90 degrees
Geometry Vocabulary acute angle-an angle measuring less than 90 degrees angle-the turn or bend between two intersecting lines, line segments, rays, or planes angle bisector-an angle bisector is a ray that
More informationCOMPARISON OF SOME EFFICIENT METHODS OF CONTOUR COMPRESSION
COMPARISON OF SOME EFFICIENT METHODS OF CONTOUR COMPRESSION REMIGIUSZ BARAN ANDRZEJ DZIECH 2 Department of Electronics and Intelligent Systems, Kielce University of Technology, POLAND 2 AGH University
More informationCSCI 4620/8626. Computer Graphics Clipping Algorithms (Chapter 8-5 )
CSCI 4620/8626 Computer Graphics Clipping Algorithms (Chapter 8-5 ) Last update: 2016-03-15 Clipping Algorithms A clipping algorithm is any procedure that eliminates those portions of a picture outside
More informationContext based optimal shape coding
IEEE Signal Processing Society 1999 Workshop on Multimedia Signal Processing September 13-15, 1999, Copenhagen, Denmark Electronic Proceedings 1999 IEEE Context based optimal shape coding Gerry Melnikov,
More informationγ 2 γ 3 γ 1 R 2 (b) a bounded Yin set (a) an unbounded Yin set
γ 1 γ 3 γ γ 3 γ γ 1 R (a) an unbounded Yin set (b) a bounded Yin set Fig..1: Jordan curve representation of a connected Yin set M R. A shaded region represents M and the dashed curves its boundary M that
More informationLecture 7: Most Common Edge Detectors
#1 Lecture 7: Most Common Edge Detectors Saad Bedros sbedros@umn.edu Edge Detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the
More informationLet s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render
1 There are two major classes of algorithms for extracting most kinds of lines from 3D meshes. First, there are image-space algorithms that render something (such as a depth map or cosine-shaded model),
More informationExperiments with Edge Detection using One-dimensional Surface Fitting
Experiments with Edge Detection using One-dimensional Surface Fitting Gabor Terei, Jorge Luis Nunes e Silva Brito The Ohio State University, Department of Geodetic Science and Surveying 1958 Neil Avenue,
More informationA Fast Algorithm of Neighborhood Coding and Operations in Neighborhood Coding Image. Synopsis. 1. Introduction
Mem. Fac. Eng., Osaka City Univ., Vol. 36,pp. 77-84.(1995) A Fast Algorithm of Neighborhood Coding and Operations in Neighborhood Coding Image by Anke CEN*, Chengxun WANG** and Hiromitsu HAMA*** (Received
More informationGeometric Modeling in Graphics
Geometric Modeling in Graphics Part 2: Meshes properties Martin Samuelčík www.sccg.sk/~samuelcik samuelcik@sccg.sk Meshes properties Working with DCEL representation One connected component with simple
More informationInterpolation is a basic tool used extensively in tasks such as zooming, shrinking, rotating, and geometric corrections.
Image Interpolation 48 Interpolation is a basic tool used extensively in tasks such as zooming, shrinking, rotating, and geometric corrections. Fundamentally, interpolation is the process of using known
More informationTwo-Dimensional Viewing. Chapter 6
Two-Dimensional Viewing Chapter 6 Viewing Pipeline Two-Dimensional Viewing Two dimensional viewing transformation From world coordinate scene description to device (screen) coordinates Normalization and
More informationCS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo)
CS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo) www.vucybarien.com Question No: 1 What are the two focusing methods in CRT? Explain briefly. Page no : 26 1. Electrostatic focusing
More informationA Weight Sequence Distance Function
A Weight Sequence Distance Function Benedek Nagy 1,, Robin Strand 2, and Nicolas Normand 3 1 Faculty of Informatics, University of Debrecen, Hungary 2 Centre for Image Analysis, Uppsala University, Sweden
More informationAn introduction to interpolation and splines
An introduction to interpolation and splines Kenneth H. Carpenter, EECE KSU November 22, 1999 revised November 20, 2001, April 24, 2002, April 14, 2004 1 Introduction Suppose one wishes to draw a curve
More informationUNIT-2 IMAGE REPRESENTATION IMAGE REPRESENTATION IMAGE SENSORS IMAGE SENSORS- FLEX CIRCUIT ASSEMBLY
18-08-2016 UNIT-2 In the following slides we will consider what is involved in capturing a digital image of a real-world scene Image sensing and representation Image Acquisition Sampling and quantisation
More information2D Grey-Level Convex Hull Computation: A Discrete 3D Approach
2D Grey-Level Convex Hull Computation: A Discrete 3D Approach Ingela Nyström 1, Gunilla Borgefors 2, and Gabriella Sanniti di Baja 3 1 Centre for Image Analysis, Uppsala University Uppsala, Sweden ingela@cb.uu.se
More informationCS452/552; EE465/505. Clipping & Scan Conversion
CS452/552; EE465/505 Clipping & Scan Conversion 3-31 15 Outline! From Geometry to Pixels: Overview Clipping (continued) Scan conversion Read: Angel, Chapter 8, 8.1-8.9 Project#1 due: this week Lab4 due:
More informationImage Processing, Analysis and Machine Vision
Image Processing, Analysis and Machine Vision Milan Sonka PhD University of Iowa Iowa City, USA Vaclav Hlavac PhD Czech Technical University Prague, Czech Republic and Roger Boyle DPhil, MBCS, CEng University
More informationHomework # 2 Due: October 6. Programming Multiprocessors: Parallelism, Communication, and Synchronization
ECE669: Parallel Computer Architecture Fall 2 Handout #2 Homework # 2 Due: October 6 Programming Multiprocessors: Parallelism, Communication, and Synchronization 1 Introduction When developing multiprocessor
More informationPath-planning by Tessellation of Obstacles
Path-planning by Tessellation of Obstacles Tane Pendragon and Lyndon While School of Computer Science & Software Engineering, The University of Western Australia, Western Australia 6009 email: {pendrt01,
More information3D Modeling Parametric Curves & Surfaces
3D Modeling Parametric Curves & Surfaces Shandong University Spring 2012 3D Object Representations Raw data Point cloud Range image Polygon soup Solids Voxels BSP tree CSG Sweep Surfaces Mesh Subdivision
More informationThe goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a
The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with
More informationMORPHOLOGICAL EDGE DETECTION AND CORNER DETECTION ALGORITHM USING CHAIN-ENCODING
MORPHOLOGICAL EDGE DETECTION AND CORNER DETECTION ALGORITHM USING CHAIN-ENCODING Neeta Nain, Vijay Laxmi, Ankur Kumar Jain & Rakesh Agarwal Department of Computer Engineering Malaviya National Institute
More informationMODIFIED SEQUENTIAL ALGORITHM USING EUCLIDEAN DISTANCE FUNCTION FOR SEED FILLING
MODIFIED SEQUENTIAL ALGORITHM USING EUCLIDEAN DISTANCE FUNCTION FOR SEED FILLING 1 SAADIA SADDIQUE, MALIK SIKANDAR HAYAT KHIYAL, 3 AIHAB KHAN, 4 MEMOONA KHANUM,. 1 Graduate, Department of Computer Science,
More informationLecture 10: Image Descriptors and Representation
I2200: Digital Image processing Lecture 10: Image Descriptors and Representation Prof. YingLi Tian Nov. 15, 2017 Department of Electrical Engineering The City College of New York The City University of
More informationLecture 3. Brute Force
Lecture 3 Brute Force 1 Lecture Contents 1. Selection Sort and Bubble Sort 2. Sequential Search and Brute-Force String Matching 3. Closest-Pair and Convex-Hull Problems by Brute Force 4. Exhaustive Search
More informationCoarse-to-Fine Search Technique to Detect Circles in Images
Int J Adv Manuf Technol (1999) 15:96 102 1999 Springer-Verlag London Limited Coarse-to-Fine Search Technique to Detect Circles in Images M. Atiquzzaman Department of Electrical and Computer Engineering,
More information(Refer Slide Time: 00:02:00)
Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 18 Polyfill - Scan Conversion of a Polygon Today we will discuss the concepts
More informationFlavor of Computational Geometry. Voronoi Diagrams. Shireen Y. Elhabian Aly A. Farag University of Louisville
Flavor of Computational Geometry Voronoi Diagrams Shireen Y. Elhabian Aly A. Farag University of Louisville March 2010 Pepperoni Sparse Pizzas Olive Sparse Pizzas Just Two Pepperonis A person gets the
More informationOutput Primitives Lecture: 3. Lecture 3. Output Primitives. Assuming we have a raster display, a picture is completely specified by:
Lecture 3 Output Primitives Assuming we have a raster display, a picture is completely specified by: - A set of intensities for the pixel positions in the display. - A set of complex objects, such as trees
More informationDiscrete 3D Tools Applied to 2D Grey-Level Images
Discrete 3D Tools Applied to 2D Grey-Level Images Gabriella Sanniti di Baja 1, Ingela Nyström 2, and Gunilla Borgefors 3 1 Institute of Cybernetics "E.Caianiello", CNR, Pozzuoli, Italy gsdb@imagm.cib.na.cnr.it
More informationBiomedical Image Analysis. Mathematical Morphology
Biomedical Image Analysis Mathematical Morphology Contents: Foundation of Mathematical Morphology Structuring Elements Applications BMIA 15 V. Roth & P. Cattin 265 Foundations of Mathematical Morphology
More informationIn what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.
Voronoi Diagrams 4 A city builds a set of post offices, and now needs to determine which houses will be served by which office. It would be wasteful for a postman to go out of their way to make a delivery
More informationLecture IV Bézier Curves
Lecture IV Bézier Curves Why Curves? Why Curves? Why Curves? Why Curves? Why Curves? Linear (flat) Curved Easier More pieces Looks ugly Complicated Fewer pieces Looks smooth What is a curve? Intuitively:
More informationSpline Curves. Spline Curves. Prof. Dr. Hans Hagen Algorithmic Geometry WS 2013/2014 1
Spline Curves Prof. Dr. Hans Hagen Algorithmic Geometry WS 2013/2014 1 Problem: In the previous chapter, we have seen that interpolating polynomials, especially those of high degree, tend to produce strong
More informationThe Cut Locus and the Jordan Curve Theorem
The Cut Locus and the Jordan Curve Theorem Rich Schwartz November 19, 2015 1 Introduction A Jordan curve is a subset of R 2 which is homeomorphic to the circle, S 1. The famous Jordan Curve Theorem says
More information