Hierarchical Representation of 2-D Shapes using Convex Polygons: a Contour-Based Approach

Size: px
Start display at page:

Download "Hierarchical Representation of 2-D Shapes using Convex Polygons: a Contour-Based Approach"

Transcription

1 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, University of Waterloo, Waterloo, ON, N2L 3G1, Canada Abstract A concavity tree is a data structure for hierarchically representing the shape of two-dimensional silhouettes using convex polygons. In this paper, we present a new algorithm for concavity tree extraction. The algorithm is fast, works directly on the pixel grid of the shape, and uses exact convex hull computations. We compare our method to the morphological approach to concavity tree extraction and we report better computational performance and smaller reconstruction errors. Key words: Shape decomposition, shape analysis, shape representation, concavity trees. 1 Introduction Shape is an important feature of a pattern. In the case of binary images, it can be argued that the most prominent feature of the patterns in the image is their shape. Shape can be defined as all the geometrical information that remains when location, scale, and rotational effects are filtered out from an object [1]. A concavity tree is a data structure used for describing non-convex two dimensional shapes. It was first introduced by Sklansky [2] and has since been further researched by others [3 7]. Corresponding author. addresses: obadawy@pami.uwaterloo.ca (O. El Badawy), mkamel@uwaterloo.ca (M. S. Kamel). Preprint submitted to Elsevier Science 30 July 2004

2 (a) (b) (c) (d) (e) Fig. 1. An object (a), its concavities (b,c), meta-concavities (d), and corresponding concavity tree (e). A concavity tree is a rooted tree where the root represents the whole object whose shape is to be analysed/represented. The next level of the tree contains nodes that represent concavities along the boundary of that object. The following level contains nodes, each representing one of the concavities of its parent, i.e., its meta-concavities. If an object or a concavity is itself convex, then the node representing it does not have any children. Figure 1 shows an example of an object (a) and its corresponding concavity tree (e). The object has two concavities, as reflected in level one of the tree. The concavity on the left (b) is convex, so it has no children (i.e., it s a leaf). The concavity on the right (c) is concave, with one convex triangular concavity (d). Typically, each node of a concavity tree stores attributes, or features, describing the underlying object or concavity. Concavity trees are clearly a tool for structural pattern recognition in which a pattern (a 2-D shape in our case) is decomposed into its primitive components. In this paper, we present a new algorithm for concavity tree extraction that takes as input the bilevel image of the object whose shape is to be analysed, extracts its contour, and based on an analysis of that contour, it efficiently extracts a precise concavity tree representing the shape of that object. The result is that the shape of the object is decomposed into its primitive convex components. Moreover, given just this decomposition, and using all primitives, the object can be reconstructed with 100% accuracy. On the other hand, if we just use the larger primitives, the original shape can be reconstructed with good accuracy. We compare our algorithm with the morphological approach to concavity tree extraction [7] and report smaller reconstruction errors and much faster execution speed. An advantage of the proposed algorithm is that it computes the exact convex hull of the shape at hand, as opposed to the morphological algorithm, which approximates the convex hull of shapes. Exact convex hulls are better shape descriptors than approximate ones, a property that can be useful when the primitives are later used for shape recognition. Moreover, the morphological implementation stores (approximate) convex hulls at each node (this is the only information available for it to store.) The proposed algorithm, on the other hand, stores not only (exact) convex hulls, but (optionally) also the 2

3 exact image of the sub-shape at hand (represented as a list of boundary pixels). This makes it possible to extract any kind of features from each tree node, a property that again is very desirable in later recognition stages. The next section of this paper presents background information about existing shape decomposition algorithms. Section 3 describes the new algorithm in detail. Examples and performance analysis are presented in Section 4 and Section 5 concludes the paper. 2 Background Shape description and representation are very important problems in computer vision and image processing [8]. They constitute the basis for many algorithms in different areas including image and video compression [9,10], and content-based image retrieval [11]. One fundamental approach to shape representation relies on structural pattern recognition techniques where a shape is described in terms of a number of simpler shape primitives. The primitives used in structural pattern recognition have to satisfy certain properties; they have to be simple, well defined, intuitive, compact, and efficiently computed [12]. In recent years, a number of shape decomposition algorithms have been proposed. Many of these algorithms rely on morphological image analysis [12 15]. An advantage of morphological methods is that they have a well-developed mathematical structure, which often translates into simple and compact algorithms. However, a main disadvantage is their computational complexity. This latter disadvantage can be remedied if parallel architectures are used [16]. However, in their absence, morphological algorithms are often impractical for applications that require speed. Concavity trees have been first introduced by Sklansky in relation to the minimum perimeter polygon [2]. Batchelor [3,4] proposed their use in automatic visual inspection of industrial artifacts such as stampings, pressings, and some moldings. In [5,6], parallel and sequential algorithms for concavity tree extraction are presented based on approximate convex hull. Concavity trees are clearly a tool for structural pattern recognition in which a pattern is decomposed into convex polygons. In [7], Xu has proposed a morphological approach to concavity tree extraction. This paper presents a new algorithm for concavity tree extraction based on the analysis of the contour of the shape in the image. The new approach is compared with Xu s morphological algorithm and results are presented. 3

4 3 The New Algorithm Given the general recursive nature of trees, our algorithm is best outlined using recursion. We start our description with some definitions. 3.1 Definitions Definition 1 A sequence A = [a k ] n k=1 = [a 1, a 2,, a n ] of length n is an ordered collection of elements a k s. The elements of A do not have to be distinct. A subsequence S of a sequence A is formed by discarding some of the elements of A and keeping the other elements in their original order. For a sequence A = [a k ] n k=1, we define A to be the set of all the elements of A (order and multiplicity are ignored, therefore, A n ). Definition 2 Two pixels are said to be direct neighbours if they share a side, and indirect neighbours if they touch only at a corner. The name neighbour denotes either type. Definition 3 A path A = [a k ] n k=1 of length n (n > 1) is a sequence of pixels a 1, a 2,, a n such that for 1 < k n, a k 1 is a neighbour of a k. A direct path refers to a similar sequence but where the pixels are required to be direct neighbours. A closed path is a path whose first and last pixels coincide. A simple path is one where all the pixels are distinct. A simple closed path is a closed path where all pixels are distinct except for the first and last ones. A subpath S of a path A is a subsequence of A that is also a path. Definition 4 A contour of an 8-connected set of pixels S is a path that satisfies all the following conditions: (1) It is closed. (2) It traverses the subset of all pixels in S which have at least one direct neighbour not in S. (3) It does not intersect with itself. (4) Each pixel appears at most twice in the contour. We note that S has many possible contours depending on the direction as well as the starting point of the traversal. Definition 5 The (2-D) convex hull of a set of points S in the 2-D space is the smallest convex polygon enclosing all the points in S. If this polygon has n vertices v 1, v 2,, v n, where v i and v i+1 are adjacent, 1 i < n, then the convex hull can be represented by a sequence H = [h k ] n+1 k=1 where h 1 = v 1, h 2 = v 2,, h n = v n, and h n+1 = v 1. 4

5 We note that in our definition of the convex hull, S is a set of points, and not a set of pixels. Even though both are represented by 2-D coordinates, a pixel has a finite non-zero area, and is usually approximated by a square, whereas a point has a zero area. We also note that although the convex hull of S is unique, its representation (as a sequence of vertices) is not (depending on the direction and starting vertex). 3.2 Description of the Algorithm The proposed algorithm is based on the following assumptions and premises: (1) The input is a bilevel digital image I, foreground pixels have a value of 1, and background pixels have a value of 0. (2) The set of foreground pixels F is assumed to be 8-connected. (3) The set of background pixels B is 4-connected. The previous 2 assumptions imply that image I contains exactly one object with no holes (Section 4.1 explains how to accomodate objects that contain one or more holes.) (4) It is assumed that the resolution is such that no connected subset of F is less than 2 pixels wide. This will guarantee that each contour is a simple closed path. Algorithm 1 outlines the major steps involved in the concavity tree extraction. The contour C of the object in the image is extracted using the contour tracing algorithm from [17]. It is assumed, without loss of generality, that c 1 = c n is an extreme point of F, therefore, it is guaranteed that c 1 = c n is a vertex of the convex hull of F. The final step in Algorithm 1 represents the core part of the algorithm that recursively constructs the tree. This is achieved by function fconcavitytree() which is explained in Algorithm 2. Algorithm 1 Concavity tree extraction: the main algorithm. Notation: I is the input image, F is the set of foreground ( 1 ) pixels, B is the set of background ( 0 ) pixels, C is the contour of F, T is a rooted tree (the concavity tree), and function fconcavitytree() is explained in Algorithm 2. Require: I is bilevel, F is 8-connected, and B is 4-connected. 1: C Extract contour of F. 2: T fconcavitytree( C ). Each call to fconcavitytree() returns the concavity tree T of its input C. When fconcavitytree() is first called, it is passed the contour C of F (a simple closed 5

6 Algorithm 2 Concavity tree extraction: fconcavitytree() Notation: T is a rooted tree (the concavity tree), C = [c k ], 1 k n is a contour or a subpath of a contour. H = [h k ], 1 k m is the convex hull of C, A = [a k ], 1 k p is a subsequence of C, S i = [s k ], 1 k l i is a subpath of C, V ij = [v k ], 1 k q j is a subpath of S i, ab is the line segment joining pixels a and b, and d(ab, y) is the length of the normal from y to ab. Function T = fconcavitytree( C ) 1: T = nil 2: AddChild( T, C ). 3: H the convex hull of C. 4: A = [a k ] p k =1 [c k c k H] {All elements of C that are also in H} 5: for i = 1 to p 1 do 6: S i = [s k ] l i k =1 [c k, c k+1,, c k+li 1 c k = a i, c k+li 1 = a i+1 ] {All elements in C starting at a i and ending at a i+1 } 7: Find all j subpaths V ij = [v k ] q j k=1 of S i such that: q j > 2, d(s 1 s li, v 1 ) = 0, d(s 1 s li, v qj ) = 0, and d(s 1 s li, all other v k ) > 0 8: for all V ij do 9: AddChild( T, fconcavitytree( V ij ) ) 10: end for 11: end for path). Any later (recursive) calls are passed (simple) subpaths of the contour of F. When the first call to fconcavitytree() returns, T will be the concavity tree of F. In addition, all nodes in T will contain simple paths except for the root, which will contain the contour of F (a simple closed path). fconcavitytree() in Algorithm 2 starts by initialising T and setting its root to input C. Then the convex hull H of the set of pixels in C is computed using the algorithm in [18]. At each call to fconcavitytree(), c 1 and c n are guaranteed to be two adjacent vertices in the convex hull of C. Therefore, a 1 and a p will be equal to c 1 and c n, respectively. The outer loop in Algorithm 2 works on each section S i of C bounded by two consecutive points in A. The inner loop, on the other hand, works on each (if any) concave section V ij of S i. Each of the V ij s is in turn passed to recursive calls of fconcavitytree(), which will return their corresponding concavity trees to be added as children to the concavity tree formed in the calling function. Figure 2 illustrates the relationship between C, A, S, and V. Part (a) of the figure illustrates the first call to fconcavitytree(), where a whole contour C is passed to the function. The elements of A (a re-ordering of the convex hull of C), the contour section S 2 between a 2 and a 3, and the concavity V 21 of that section are shown to the right. Part (b) of the same figure depicts later calls to f ConcavityT ree(), 6

7 C is a contour: a 4 a 3 (a) S 2 V 21 c 1 = c n a 1 = a 5 a 2 C A S V C is a simple path: c n a 3 a 4 (b) S 2 c 1 a 2 a 1 V 21 C A S V Fig. 2. Relationship between C, A, S, and V in algorithm 2 where C is now the part of the contour that forms a concavity (i.e., C in part (b) is V 21 in part (a)). Similarly, The elements of A (a re-ordering of the convex hull of C in which the first and last elements are now different), the contour part S 2 bounded by a 2 and a 3, and its concavity V 21 are shown to the right. In line 7 of Algorithm 2, if the coordinates of s 1 and s l are respectively (x 1, y 1 ) and (x l, y l ), then the equation of s 1 s l is given by x y 1 x 1 y 1 1 = 0 (1) x l y l 1 The distance between point v k = (x k, y k ) and the segment s 1 s l is then given by x k y k 1 x 1 y 1 1 x l y l 1 d(s 1 s l, v k ) = (x 1 x l ) 2 + (y 1 y l ) (2) Computational Complexity Computing the convex hull of n arbitrary pixels requires O(n log(n)) operations. However, if these pixels are the contour of an object, then the convex hull operation requires just O(n) operations [18]. Our algorithm uses the latter method to compute convex hulls of simple paths and simple closed paths. 7

8 -0.5 Nodes: 13, leaves: 8, height: (a) Original image (b) Concavity tree of (a): 13 nodes, 8 leaves, height = 2 (c) (d) (e) Fig. 3. Artificially constructed shapes (a, c, d, and e) and a concavity tree (b) that illustrate worst-case complexity. In each of the shapes, the total number of contour pixels in each tree level is the same. Extracting the boundary of the object (also known as contour tracing) first requires an initial search in the image for any pixel on the contour, which is done by performing a row by row (or column by column) scan of the image until the first foreground pixel is met. Then, tracing the contour requires O(n) operations. Contour tracing needs to be done once at the beginning. Our algorithm therefore requires O(n) operations to trace the contour, and another O(n) operations to extract the convex hull of the whole object, where n is the number of pixels in the contour. Thereafter, we need O(m) operations to extract the convex hull of each concavity or meta-concavity, where m is the number of pixels in the (meta-)concavity. This translates into a worst case complexity of O((h + 1) n), where h is the height of the resulting concavity tree and n is the number of pixels in the contour. It is worth noting here that h is invariably much smaller than n; carving an extra (meta-) concavity in order to increase h by one will result in many more extra contour pixels. Typically, h is less than ten and n is in the hundreds. Moreover, the worst case complexity of O((h + 1) n) only occurs when the total number of contour pixels in all the concavities of one level in the tree is equal to the total number of contour pixels in all the concavities of the level above it (this number is n). Figure 3 parts (a) and (b) show an example depicting the worst-case complexity of O((h + 1) n) with h = 2. Parts (c), (d), and (e) of the same figure show programmatically constructed shapes that illustrate the case when h is equal to 3, 4, and 5, respectively. In each of the shapes, the number of contour pixels 8

9 is n. Moreover, the total number of contour pixels in each tree level is the also n. That is, each contour pixel also belongs to one meta-concavity on each level i, where 1 i h. It is worth noting that by visual inspection of the shapes, the height of the tree cannot increase indefinitely. This is because, if n is kept fixed, we cannot decompose the shape without eventually exhausting the concave space inside it. In other words, a factor limiting the number of concavities, and hence restricting h, is that the total area of all concavities is bounded by the finite area of the convex hull of the shape. 3.4 Shape Reconstruction Exact reconstruction of the original image from a concavity tree can be achieved through another recursive procedure. We call a concavity whose level in the tree is odd a white concavity and one whose level in the tree is even (but greater than zero) a black concavity. White concavities are made of background pixels whereas black concavities are made of foreground pixels. A concavity closing edge is the line segment joining the two end points of the contour section defining the concavity. The reconstructed image is initially blank, i.e., all background and hence all zeros. The concavity tree is then traversed in a pre-order way (root first, then children) and at each visited node, a logical operation is performed based on the level of the node as follows (the root is at level zero): If the level of the node is even, including zero, the reconstructed image is logically or ed with the convex image corresponding to the node. This applies to black concavities and to the convex hull of the whole object (i.e., the root of the tree). If the level is odd (white concavity), the reconstructed image is logically and ed with the complement of the convex image stored at the node. In both cases, the result of the logical operation is assigned back to the (partially) reconstructed image. After all the nodes have been visited, the reconstructed image will be readily available. This procedure can be applied directly to the trees generated by the morphological algorithm since at each node, the whole convex image is stored. In the case of the contour-based algorithm, the procedure is a bit more involved. The reason is that only convex hull vertices are stored at each node (as opposed to the whole convex image). Hence, a polygon filling operation is required. Moreover, if the level of the concavity is odd, the convex polygon resulting from the filling is actually slightly bigger than the original corresponding concavity. The procedure of reconstructing the image in the case of the contour-based algorithm is better illustrated by Figure 4. Panel (1) of the figure shows a simple 9

10 Foreground (dark) pixels have logical value one (1) shape with one concavity and one meta-concavity (2) Contour Only convex hull vertices (the black pixels on the left) are stored in the tree (3) Level 0 (4) Level 1 (5) Level 2 Wrong reconstruction (6) Level 0 filled (7) Level 1 filled (8) Level 2 filled and or = (9) (10) (11) (12) Correct reconstruction (13) Level 0 filled (14) Level 1 filled (15) Level 2 filled and or = (16) (17) (18) (19) Note: Logical AND has higher precedence over logical OR. Foreground (dark) pixels have logical value one. Fig. 4. Image reconstruction. shape with one concavity and one meta-concavity. Note that the convention used here is that foreground pixels have a value of one. The corresponding tree (not shown) is simple and has three levels with one node at each level. The extracted contour of the shape is shown in (2). The black pixels in Panels (3), (4), and (5) are the convex hulls of the shape, the concavity, and the meta-concavity, respectively. Therefore, four pixels are stored at the root of the tree, six in level one, and three in level two. Panels (6) to (12) show the result of reconstructing the image by filling the convex hull polygon at each node and then performing the logical operations outlined above. Clearly, the 10

11 ^ = ^ = (a) Closing edge intersects with pixels that form a path between the two concavity ends (b) Closing edge intersects with disconnected pixels In (a), (b) and (c): First row: original shape and its contour. Second row: convex hull vertices (in black.) Third row: Filling. Fourth row: Logical operation yielding original shape. ^ denotes Logical AND. Foreground (dark) pixels have logical value one. ^ = (c) Closing edge does not intersect with any pixels. Fig. 5. Reconstruction example of simple single-concavity shapes with different slopes for the concavity closing edge. reconstructed image is different from the original one. Panels 13 to 19 show how to fix this problem. At even tree levels, pixels that are on the boundary of the polygon are included in the fill (panels 13 and 15). This is the same filling method used in panels 6, 7, and 8. At odd tree levels, on the other hand, pixels that are on the boundary of the polygon are not included in the fill except for those on the concavity closing edge (excluding the convex hull vertices). This is illustrated in panel 14. Finally, panels 16 to 19 show the correct reconstructed image. We use a modified scan filling algorithm to get the convex image from the convex hull vertices. Scan filling algorithms [17] (also known as edge filling algorithms) consider the line equations of the polygon edges and use parity checks to determine whether a point is in the interior of 11

12 the polygon or not. This is based on the fact that a straight line intersects any closed curve an even number of times. The filling algorithm can be easily modified so that it takes care of the special polygon filling rules outlined above for convex hulls of white concavities. Figure 5 shows three simple reconstruction examples featuring different slopes for the concavity closing edge. In (a), the closing edge intersects with pixels that form a path between the two concavity ends. In (b), the closing edge intersects with disconnected pixels, and in (c), the closing edge does not intersect with any pixels. 4 Examples and Discussion Figure 6 shows an image (a), its concavity tree (b), and its exact reconstruction (f). The second level of the tree (level one) has 14 nodes corresponding to 14 concavities along the contour of the shape. The contour section corresponding to the sixth node on that level (with the label 6) is shown in (c). Similarly, this last contour section has four concavities (represented by four children in the tree). The contour section corresponding to the first child (labeled 6,1) is shown in (d). The concavity tree has 85 nodes, 45 leaves, and a height of five. 73 of the 85 nodes (around 86%) have an area less than 1% of the total area of the shape. Figure 6(e) shows the 85 convex components (polygons) of the shape. Panel (f) shows the exact reconstruction of the original shape from its 85 convex components. The reconstruction error between the original shape (a) and the reconstructed shape in (f) is 0%. The reconstruction error is based on the number of pixels in the reconstructed image that are not in the original image. Figures 7 and 8 show the result of reconstructing the shape in Figure 6(a) using the largest 4, 8, and 12 components using the proposed contour-based algorithm and Xu s morphological algorithm, respectively. In each of the three cases, we note that the error for the contour-based algorithm is smaller than that of the morphological algorithm. Moreover, the contour-based algorithm is inherently faster than the morphological one. We applied our algorithm to the 13 shapes shown in Figure 9. The shapes are first decomposed into convex sub-shapes, then they are reconstructed using only the largest components in terms of area, and the error between the original and reconstructed images is computed. We applied Xu s morphological algorithm to the same images and compared the number of convex polygons used in the reconstruction and the resulting error for each image. The contour-based algorithm consistently results in smaller errors using approximately the same number of components. On average, the reconstruction error 12

13 Nodes: 85, leaves: 45, height: ,1 3 (a) Original image 4 5 (b) Concavity Tree: 85 nodes, 45 leaves, height = (c) Concavity # (d) First meta-concavity of concavity # (e) Convex hull and concavities (f) Exact reconstruction from all nodes Fig. 6. Illustration of concavity tree extraction. of the contour-based algorithm is 50% smaller than that of the morphological one. Figure 10 shows the average (for all 13 test images) of the reconstruction error as a function of the number of nodes used in the reconstruction. Figure 11 shows that the average execution time (again for all 13 test images) of the contour-based algorithm is an order of magnitude smaller than that of the morphological one. The average execution time is the total of the average 13

14 Nodes: 4 Error: 0.12 Nodes: 8 Error: 0.07 Nodes: 12 Error: 0.05 Fig. 7. Reconstruction using the largest components. Contour-based algorithm. Nodes: 4 Error: 0.18 Nodes: 8 Error: 0.12 Nodes: 12 Error: 0.07 Fig. 8. Reconstruction using the largest components. Morphological algorithm Fig. 9. Test images tree extraction and exact reconstruction times. Experiments were conducted on a standard 1.4 GHz single-processor Pentium 4 PC. 14

15 Contour based Morphological Reconstruction error Number of nodes used in reconstruction Fig. 10. Average reconstruction error for the two algorithms. 35 Morphological Algorithm Contour Based Algorithm 30 Average Execution Time (secs) Extraction 2. Reconstruction 4.1 Objects with holes Fig. 11. Average execution time for the two algorithms. A simple extension to the proposed algorithm will make it able to handle the decomposition of objects with one or more holes. An object with a hole is naturally decomposed into two components: the filled object, and the hole. If the hole is then treated as an object and decomposed and/or reconstructed using the same techniques presented so far, a logical xor between the original 15

16 image and all its holes will reconstruct the original shape. We can use one tree per object or hole, or just attach the hole trees to the object tree. Since all operations will be repeated for each hole, the complexity will be multiplied by the number of holes inside the object. Which is very small compared to the number of contour pixels. 5 Conclusion This paper presents a new algorithm for concavity tree extraction. The new method directly works on the pixel grid of the shape and is based on an analysis of its contour. Using our algorithm, the shape of a 2-D object is decomposed into convex polygons based on exact convex hull computations. If all the convex components are used to describe the object, the original shape can be exactly reconstructed. On the other hand, if the largest convex components are used, the original shape can be reconstructed with high accuracy and we would just use a few number of components to describe the object. Our method outperforms the morphological implementation of concavity trees. This representation scheme can be used in structural shape description, analysis, and recognition. References [1] D. Kendall, The diffusion of shape, Advances in Applied Probability 9 (1977) [2] J. Sklansky, Measuring concavity on a rectangular mosaic, IEEE Transactions on Computers C-21 (1972) [3] B. Batchelor, Hierarchical shape description based upon convex hulls of concavities, Journal of Cybernetics 10 (1980) [4] B. Batchelor, Shape descriptors for labeling concavity trees, Journal of Cybernetics 10 (1980) [5] G. Borgefors, G. Sanniti di Baja, Methods for hierarchical analysis of concavities, in: Proceedings of the International Conference on Pattern Recognition, Vol. 3, 1992, pp [6] G. Borgefors, G. Sanniti di Baja, Analyzing nonconvex 2D and 3D patterns, Computer Vision and Image Understanding 63 (1) (1996) [7] J. Xu, Hierarchical representation of 2-D shapes using convex polygons: A morphological approach, Pattern Recognition Letters 18 (1997)

17 [8] S. Loncaric, A survey of shape analysis techniques, Pattern Recognition 31 (8) (1998) [9] Y. Hasan, L. Karam, Morphological reversible contour representation, IEEE transactions on Pattern Analysis and Machine Intelligence 22 (3) (2000) [10] P. Salembier, P. Brigger, J. Casas, M. Pardas, Morphological operators for image and video compression, IEEE transactions on Image Processing 5 (6) (1996) [11] O. E. Badawy, M. Kamel, Shape-based image retrieval applied to trademark images, International Journal of Image and Graphics 2 (3) (2002) [12] I. Pitas, A. Venetsanopoulos, Morphological shape decomposition, IEEE transactions on Pattern Analysis and Machine Intelligence 12 (1) (1990) [13] P. Maragos, R. Schafer, Morphological skeleton representation and coding of binary images, IEEE transactions on Acoustics, Speech and Signal Processing 34 (5) (1986) [14] J. Xu, Efficient morphological shape representation without searching, in: Proceedings of the International Conference on Image Processing, 1998, pp [15] J. Xu, Efficient morphological shape representation with overlapping disk components, IEEE transactions on Image Processing 10 (9) (2001) [16] H. Park, R. Chin, Optimal decomposition of convex morphological structuring elements for 4-connected parallel array processors, IEEE transactions on Pattern Analysis and Machine Intelligence 16 (3) (1994) [17] T. Pavlidis, Algorihms for Graphics and Image Processing, Computer Science Press, [18] A. Melkman, On-line construction of the convex hull of a simple polygon, Information Processing Letters 25 (1987)

Compressing 2-D Shapes using Concavity Trees

Compressing 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 information

Morphological Image Processing

Morphological 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 information

Morphological Image Processing

Morphological 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 information

EECS490: Digital Image Processing. Lecture #23

EECS490: 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 information

CLASSIFICATION OF BOUNDARY AND REGION SHAPES USING HU-MOMENT INVARIANTS

CLASSIFICATION OF BOUNDARY AND REGION SHAPES USING HU-MOMENT INVARIANTS CLASSIFICATION OF BOUNDARY AND REGION SHAPES USING HU-MOMENT INVARIANTS B.Vanajakshi Department of Electronics & Communications Engg. Assoc.prof. Sri Viveka Institute of Technology Vijayawada, India E-mail:

More information

Digital Image Processing Fundamentals

Digital 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 information

Morphological Image Processing

Morphological Image Processing Digital Image Processing Lecture # 10 Morphological Image Processing Autumn 2012 Agenda Extraction of Connected Component Convex Hull Thinning Thickening Skeletonization Pruning Gray-scale Morphology Digital

More information

An Efficient Visual Hull Computation Algorithm

An Efficient Visual Hull Computation Algorithm An Efficient Visual Hull Computation Algorithm Wojciech Matusik Chris Buehler Leonard McMillan Laboratory for Computer Science Massachusetts institute of Technology (wojciech, cbuehler, mcmillan)@graphics.lcs.mit.edu

More information

Morphological Image Processing

Morphological 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 information

CITS 4402 Computer Vision

CITS 4402 Computer Vision CITS 4402 Computer Vision A/Prof Ajmal Mian Adj/A/Prof Mehdi Ravanbakhsh, CEO at Mapizy (www.mapizy.com) and InFarm (www.infarm.io) Lecture 02 Binary Image Analysis Objectives Revision of image formation

More information

Biomedical Image Analysis. Mathematical Morphology

Biomedical 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 information

However, m pq is just an approximation of M pq. As it was pointed out by Lin [2], more precise approximation can be obtained by exact integration of t

However, m pq is just an approximation of M pq. As it was pointed out by Lin [2], more precise approximation can be obtained by exact integration of t FAST CALCULATION OF GEOMETRIC MOMENTS OF BINARY IMAGES Jan Flusser Institute of Information Theory and Automation Academy of Sciences of the Czech Republic Pod vodarenskou vez 4, 82 08 Prague 8, Czech

More information

EECS490: Digital Image Processing. Lecture #17

EECS490: Digital Image Processing. Lecture #17 Lecture #17 Morphology & set operations on images Structuring elements Erosion and dilation Opening and closing Morphological image processing, boundary extraction, region filling Connectivity: convex

More information

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings On the Relationships between Zero Forcing Numbers and Certain Graph Coverings Fatemeh Alinaghipour Taklimi, Shaun Fallat 1,, Karen Meagher 2 Department of Mathematics and Statistics, University of Regina,

More information

Chapter 11 Representation & Description

Chapter 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 information

1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1

1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1 Asymptotics, Recurrence and Basic Algorithms 1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1 1. O(logn) 2. O(n) 3. O(nlogn) 4. O(n 2 ) 5. O(2 n ) 2. [1 pt] What is the solution

More information

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

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 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 information

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

CS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University CS443: Digital Imaging and Multimedia Binary Image Analysis Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University Outlines A Simple Machine Vision System Image segmentation by thresholding

More information

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13 Lecture 17: Solid Modeling... a cubit on the one side, and a cubit on the other side Exodus 26:13 Who is on the LORD's side? Exodus 32:26 1. Solid Representations A solid is a 3-dimensional shape with

More information

Lecture 18 Representation and description I. 2. Boundary descriptors

Lecture 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 information

Morphological track 1

Morphological 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 information

Boundary descriptors. Representation REPRESENTATION & DESCRIPTION. Descriptors. Moore boundary tracking

Boundary 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 information

6 Mathematics Curriculum

6 Mathematics Curriculum New York State Common Core 6 Mathematics Curriculum GRADE GRADE 6 MODULE 5 Table of Contents 1 Area, Surface Area, and Volume Problems... 3 Topic A: Area of Triangles, Quadrilaterals, and Polygons (6.G.A.1)...

More information

Indexing by Shape of Image Databases Based on Extended Grid Files

Indexing by Shape of Image Databases Based on Extended Grid Files Indexing by Shape of Image Databases Based on Extended Grid Files Carlo Combi, Gian Luca Foresti, Massimo Franceschet, Angelo Montanari Department of Mathematics and ComputerScience, University of Udine

More information

A Vertex Chain Code Approach for Image Recognition

A 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 information

arxiv: v1 [cs.cc] 30 Jun 2017

arxiv: v1 [cs.cc] 30 Jun 2017 Hamiltonicity is Hard in Thin or Polygonal Grid Graphs, but Easy in Thin Polygonal Grid Graphs Erik D. Demaine Mikhail Rudoy arxiv:1706.10046v1 [cs.cc] 30 Jun 2017 Abstract In 2007, Arkin et al. [3] initiated

More information

Mathematics Curriculum

Mathematics Curriculum 6 G R A D E Mathematics Curriculum GRADE 6 5 Table of Contents 1... 1 Topic A: Area of Triangles, Quadrilaterals, and Polygons (6.G.A.1)... 11 Lesson 1: The Area of Parallelograms Through Rectangle Facts...

More information

Image retrieval based on region shape similarity

Image retrieval based on region shape similarity Image retrieval based on region shape similarity Cheng Chang Liu Wenyin Hongjiang Zhang Microsoft Research China, 49 Zhichun Road, Beijing 8, China {wyliu, hjzhang}@microsoft.com ABSTRACT This paper presents

More information

Topic 6 Representation and Description

Topic 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 information

Restricted-Orientation Convexity in Higher-Dimensional Spaces

Restricted-Orientation Convexity in Higher-Dimensional Spaces Restricted-Orientation Convexity in Higher-Dimensional Spaces ABSTRACT Eugene Fink Derick Wood University of Waterloo, Waterloo, Ont, Canada N2L3G1 {efink, dwood}@violetwaterlooedu A restricted-oriented

More information

4. References. q h-1. q h

4. References. q h-1. q h 4. References -1-2 Fig. 5 polygon on which the DSW algorithm fails. C 1 Bhattacharya B K, ElGindy H. new linear convex hull algorithm for simple polygons. IEEE Transactions on Information Theory. 1994,

More information

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

09/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 information

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

International Journal of Advance Engineering and Research Development. Applications of Set Theory in Digital Image Processing Scientific Journal of Impact Factor (SJIF): 4.72 International Journal of Advance Engineering and Research Development Volume 4, Issue 11, November -2017 Applications of Set Theory in Digital Image Processing

More information

morphology on binary images

morphology on binary images morphology on binary images Ole-Johan Skrede 10.05.2017 INF2310 - Digital Image Processing Department of Informatics The Faculty of Mathematics and Natural Sciences University of Oslo After original slides

More information

SHAPE SEGMENTATION FOR SHAPE DESCRIPTION

SHAPE SEGMENTATION FOR SHAPE DESCRIPTION SHAPE SEGMENTATION FOR SHAPE DESCRIPTION Olga Symonova GraphiTech Salita dei Molini 2, Villazzano (TN), Italy olga.symonova@graphitech.it Raffaele De Amicis GraphiTech Salita dei Molini 2, Villazzano (TN),

More information

EXTREME POINTS AND AFFINE EQUIVALENCE

EXTREME POINTS AND AFFINE EQUIVALENCE EXTREME POINTS AND AFFINE EQUIVALENCE The purpose of this note is to use the notions of extreme points and affine transformations which are studied in the file affine-convex.pdf to prove that certain standard

More information

Image representation. 1. Introduction

Image representation. 1. Introduction Image representation Introduction Representation schemes Chain codes Polygonal approximations The skeleton of a region Boundary descriptors Some simple descriptors Shape numbers Fourier descriptors Moments

More information

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

Introduction. Computer Vision & Digital Image Processing. Preview. Basic Concepts from Set Theory Introduction Computer Vision & Digital Image Processing Morphological Image Processing I Morphology a branch of biology concerned with the form and structure of plants and animals Mathematical morphology

More information

Code Transformation of DF-Expression between Bintree and Quadtree

Code Transformation of DF-Expression between Bintree and Quadtree Code Transformation of DF-Expression between Bintree and Quadtree Chin-Chen Chang*, Chien-Fa Li*, and Yu-Chen Hu** *Department of Computer Science and Information Engineering, National Chung Cheng University

More information

Decomposing and Sketching 3D Objects by Curve Skeleton Processing

Decomposing 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 information

Mathematical Morphology and Distance Transforms. Robin Strand

Mathematical 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 information

Lecture 8 Object Descriptors

Lecture 8 Object Descriptors Lecture 8 Object Descriptors Azadeh Fakhrzadeh Centre for Image Analysis Swedish University of Agricultural Sciences Uppsala University 2 Reading instructions Chapter 11.1 11.4 in G-W Azadeh Fakhrzadeh

More information

ECEN 447 Digital Image Processing

ECEN 447 Digital Image Processing ECEN 447 Digital Image Processing Lecture 7: Mathematical Morphology Ulisses Braga-Neto ECE Department Texas A&M University Basics of Mathematical Morphology Mathematical Morphology (MM) is a discipline

More information

Lofting 3D Shapes. Abstract

Lofting 3D Shapes. Abstract Lofting 3D Shapes Robby Prescott Department of Computer Science University of Wisconsin Eau Claire Eau Claire, Wisconsin 54701 robprescott715@gmail.com Chris Johnson Department of Computer Science University

More information

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PAUL BALISTER Abstract It has been shown [Balister, 2001] that if n is odd and m 1,, m t are integers with m i 3 and t i=1 m i = E(K n) then K n can be decomposed

More information

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

Geometric Modeling Mortenson Chapter 11. Complex Model Construction Geometric Modeling 91.580.201 Mortenson Chapter 11 Complex Model Construction Topics Topology of Models Connectivity and other intrinsic properties Graph-Based Models Emphasize topological structure Boolean

More information

Approximation Algorithms for Geometric Intersection Graphs

Approximation Algorithms for Geometric Intersection Graphs Approximation Algorithms for Geometric Intersection Graphs Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Outline

More information

1. INTRODUCTION. AMS Subject Classification. 68U10 Image Processing

1. INTRODUCTION. AMS Subject Classification. 68U10 Image Processing ANALYSING THE NOISE SENSITIVITY OF SKELETONIZATION ALGORITHMS Attila Fazekas and András Hajdu Lajos Kossuth University 4010, Debrecen PO Box 12, Hungary Abstract. Many skeletonization algorithms have been

More information

FINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 ( Marks: 1 ) - Please choose one The data of the problem is of 2GB and the hard

FINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 ( Marks: 1 ) - Please choose one The data of the problem is of 2GB and the hard FINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 The data of the problem is of 2GB and the hard disk is of 1GB capacity, to solve this problem we should Use better data structures

More information

K-structure, Separating Chain, Gap Tree, and Layered DAG

K-structure, Separating Chain, Gap Tree, and Layered DAG K-structure, Separating Chain, Gap Tree, and Layered DAG Presented by Dave Tahmoush Overview Improvement on Gap Tree and K-structure Faster point location Encompasses Separating Chain Better storage Designed

More information

Problem definition Image acquisition Image segmentation Connected component analysis. Machine vision systems - 1

Problem definition Image acquisition Image segmentation Connected component analysis. Machine vision systems - 1 Machine vision systems Problem definition Image acquisition Image segmentation Connected component analysis Machine vision systems - 1 Problem definition Design a vision system to see a flat world Page

More information

(Refer Slide Time: 00:02:00)

(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 information

CSCI 4620/8626. Computer Graphics Clipping Algorithms (Chapter 8-5 )

CSCI 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 information

Section 5.5. Left subtree The left subtree of a vertex V on a binary tree is the graph formed by the left child L of V, the descendents

Section 5.5. Left subtree The left subtree of a vertex V on a binary tree is the graph formed by the left child L of V, the descendents Section 5.5 Binary Tree A binary tree is a rooted tree in which each vertex has at most two children and each child is designated as being a left child or a right child. Thus, in a binary tree, each vertex

More information

Central Europe Regional Contest 2016

Central Europe Regional Contest 2016 University of Zagreb Faculty of Electrical Engineering and Computing November 1820, 2016 A: Appearance Analysis.......... 1 B: Bipartite Blanket............. 2 C: Convex Contour............. D: Dancing

More information

layers in a raster model

layers in a raster model layers in a raster model Layer 1 Layer 2 layers in an vector-based model (1) Layer 2 Layer 1 layers in an vector-based model (2) raster versus vector data model Raster model Vector model Simple data structure

More information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph. Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial

More information

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Welcome to the lectures on computer graphics. We have

More information

A note on Baker s algorithm

A note on Baker s algorithm A note on Baker s algorithm Iyad A. Kanj, Ljubomir Perković School of CTI, DePaul University, 243 S. Wabash Avenue, Chicago, IL 60604-2301. Abstract We present a corrected version of Baker s algorithm

More information

Computer Graphics. The Two-Dimensional Viewing. Somsak Walairacht, Computer Engineering, KMITL

Computer Graphics. The Two-Dimensional Viewing. Somsak Walairacht, Computer Engineering, KMITL Computer Graphics Chapter 6 The Two-Dimensional Viewing Somsak Walairacht, Computer Engineering, KMITL Outline The Two-Dimensional Viewing Pipeline The Clipping Window Normalization and Viewport Transformations

More information

EE 584 MACHINE VISION

EE 584 MACHINE VISION EE 584 MACHINE VISION Binary Images Analysis Geometrical & Topological Properties Connectedness Binary Algorithms Morphology Binary Images Binary (two-valued; black/white) images gives better efficiency

More information

Lecture 10: Image Descriptors and Representation

Lecture 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 information

Computing Covering Polyhedra of Non-Convex Objects

Computing 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 information

DDS Dynamic Search Trees

DDS Dynamic Search Trees DDS Dynamic Search Trees 1 Data structures l A data structure models some abstract object. It implements a number of operations on this object, which usually can be classified into l creation and deletion

More information

Chapter 3. Sukhwinder Singh

Chapter 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 information

Graphics (Output) Primitives. Chapters 3 & 4

Graphics (Output) Primitives. Chapters 3 & 4 Graphics (Output) Primitives Chapters 3 & 4 Graphic Output and Input Pipeline Scan conversion converts primitives such as lines, circles, etc. into pixel values geometric description a finite scene area

More information

A New Online Clustering Approach for Data in Arbitrary Shaped Clusters

A New Online Clustering Approach for Data in Arbitrary Shaped Clusters A New Online Clustering Approach for Data in Arbitrary Shaped Clusters Richard Hyde, Plamen Angelov Data Science Group, School of Computing and Communications Lancaster University Lancaster, LA1 4WA, UK

More information

Exercise set 2 Solutions

Exercise set 2 Solutions Exercise set 2 Solutions Let H and H be the two components of T e and let F E(T ) consist of the edges of T with one endpoint in V (H), the other in V (H ) Since T is connected, F Furthermore, since T

More information

Course Number: Course Title: Geometry

Course Number: Course Title: Geometry Course Number: 1206310 Course Title: Geometry RELATED GLOSSARY TERM DEFINITIONS (89) Altitude The perpendicular distance from the top of a geometric figure to its opposite side. Angle Two rays or two line

More information

Robust Shape Retrieval Using Maximum Likelihood Theory

Robust 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 information

Picture Maze Generation by Repeated Contour Connection and Graph Structure of Maze

Picture Maze Generation by Repeated Contour Connection and Graph Structure of Maze Computer Science and Engineering 2013, 3(3): 76-83 DOI: 10.5923/j.computer.20130303.04 Picture Maze Generation by Repeated Contour Connection and Graph Structure of Maze Tomio Kurokawa Department of Information

More information

Path-planning by Tessellation of Obstacles

Path-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 information

My Favorite Problems, 4 Harold B. Reiter University of North Carolina Charlotte

My Favorite Problems, 4 Harold B. Reiter University of North Carolina Charlotte My Favorite Problems, 4 Harold B Reiter University of North Carolina Charlotte This is the fourth of a series of columns about problems I am soliciting problems from the readers of M&I Quarterly I m looking

More information

A New Approach to Computation of Curvature Scale Space Image for Shape Similarity Retrieval

A New Approach to Computation of Curvature Scale Space Image for Shape Similarity Retrieval A New Approach to Computation of Curvature Scale Space Image for Shape Similarity Retrieval Farzin Mokhtarian, Sadegh Abbasi and Josef Kittler Centre for Vision Speech and Signal Processing Department

More information

Block Method for Convex Polygon Triangulation

Block Method for Convex Polygon Triangulation ROMANIAN JOURNAL OF INFORMATION SCIENCE AND TECHNOLOGY Volume 15, Number 4, 2012, 344 354 Block Method for Convex Polygon Triangulation Predrag S. STANIMIROVIĆ, Predrag V. KRTOLICA, Muzafer H. SARAČEVIĆ,

More information

A Connection between Network Coding and. Convolutional Codes

A Connection between Network Coding and. Convolutional Codes A Connection between Network Coding and 1 Convolutional Codes Christina Fragouli, Emina Soljanin christina.fragouli@epfl.ch, emina@lucent.com Abstract The min-cut, max-flow theorem states that a source

More information

Classification and Generation of 3D Discrete Curves

Classification and Generation of 3D Discrete Curves Applied Mathematical Sciences, Vol. 1, 2007, no. 57, 2805-2825 Classification and Generation of 3D Discrete Curves Ernesto Bribiesca Departamento de Ciencias de la Computación Instituto de Investigaciones

More information

1. Introduction to Constructive Solid Geometry (CSG)

1. Introduction to Constructive Solid Geometry (CSG) opyright@010, YZU Optimal Design Laboratory. All rights reserved. Last updated: Yeh-Liang Hsu (010-1-10). Note: This is the course material for ME550 Geometric modeling and computer graphics, Yuan Ze University.

More information

6.001 Notes: Section 4.1

6.001 Notes: Section 4.1 6.001 Notes: Section 4.1 Slide 4.1.1 In this lecture, we are going to take a careful look at the kinds of procedures we can build. We will first go back to look very carefully at the substitution model,

More information

Red-Black-Trees and Heaps in Timestamp-Adjusting Sweepline Based Algorithms

Red-Black-Trees and Heaps in Timestamp-Adjusting Sweepline Based Algorithms Department of Informatics, University of Zürich Vertiefungsarbeit Red-Black-Trees and Heaps in Timestamp-Adjusting Sweepline Based Algorithms Mirko Richter Matrikelnummer: 12-917-175 Email: mirko.richter@uzh.ch

More information

CoE4TN4 Image Processing

CoE4TN4 Image Processing CoE4TN4 Image Processing Chapter 11 Image Representation & Description Image Representation & Description After an image is segmented into regions, the regions are represented and described in a form suitable

More information

Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

More information

Subset Warping: Rubber Sheeting with Cuts

Subset Warping: Rubber Sheeting with Cuts Subset Warping: Rubber Sheeting with Cuts Pierre Landau and Eric Schwartz February 14, 1994 Correspondence should be sent to: Eric Schwartz Department of Cognitive and Neural Systems Boston University

More information

Symbol Detection Using Region Adjacency Graphs and Integer Linear Programming

Symbol Detection Using Region Adjacency Graphs and Integer Linear Programming 2009 10th International Conference on Document Analysis and Recognition Symbol Detection Using Region Adjacency Graphs and Integer Linear Programming Pierre Le Bodic LRI UMR 8623 Using Université Paris-Sud

More information

Asynchronous Cellular Operations on Gray Images Extracting Topographic Shape Features and Their Relations

Asynchronous Cellular Operations on Gray Images Extracting Topographic Shape Features and Their Relations Asynchronous Cellular Operations on Gray Images Extracting Topographic Shape Features and Their Relations Igor Polkovnikov Yes San Francisco LLC, ipolk@virtuar.com, www.virtuar.com/ia/ March 19, 2013 Abstract

More information

EXAM ELEMENTARY MATH FOR GMT: ALGORITHM ANALYSIS NOVEMBER 7, 2013, 13:15-16:15, RUPPERT D

EXAM ELEMENTARY MATH FOR GMT: ALGORITHM ANALYSIS NOVEMBER 7, 2013, 13:15-16:15, RUPPERT D SOLUTIONS EXAM ELEMENTARY MATH FOR GMT: ALGORITHM ANALYSIS NOVEMBER 7, 2013, 13:15-16:15, RUPPERT D This exam consists of 6 questions, worth 10 points in total, and a bonus question for 1 more point. Using

More information

Accepting that the simple base case of a sp graph is that of Figure 3.1.a we can recursively define our term:

Accepting that the simple base case of a sp graph is that of Figure 3.1.a we can recursively define our term: Chapter 3 Series Parallel Digraphs Introduction In this chapter we examine series-parallel digraphs which are a common type of graph. They have a significant use in several applications that make them

More information

Efficient View-Dependent Sampling of Visual Hulls

Efficient View-Dependent Sampling of Visual Hulls Efficient View-Dependent Sampling of Visual Hulls Wojciech Matusik Chris Buehler Leonard McMillan Computer Graphics Group MIT Laboratory for Computer Science Cambridge, MA 02141 Abstract In this paper

More information

Einführung in Visual Computing

Einführung in Visual Computing Einführung in Visual Computing 186.822 Rasterization Werner Purgathofer Rasterization in the Rendering Pipeline scene objects in object space transformed vertices in clip space scene in normalized device

More information

Minimum-Area Rectangle Containing a Set of Points

Minimum-Area Rectangle Containing a Set of Points Minimum-Area Rectangle Containing a Set of Points David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International

More information

Basic Idea. The routing problem is typically solved using a twostep

Basic Idea. The routing problem is typically solved using a twostep Global Routing Basic Idea The routing problem is typically solved using a twostep approach: Global Routing Define the routing regions. Generate a tentative route for each net. Each net is assigned to a

More information

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Preferred directions for resolving the non-uniqueness of Delaunay triangulations Preferred directions for resolving the non-uniqueness of Delaunay triangulations Christopher Dyken and Michael S. Floater Abstract: This note proposes a simple rule to determine a unique triangulation

More information

Chapter 4 Concepts from Geometry

Chapter 4 Concepts from Geometry Chapter 4 Concepts from Geometry An Introduction to Optimization Spring, 2014 Wei-Ta Chu 1 Line Segments The line segment between two points and in R n is the set of points on the straight line joining

More information

CSCI2100B Data Structures Trees

CSCI2100B Data Structures Trees CSCI2100B Data Structures Trees Irwin King king@cse.cuhk.edu.hk http://www.cse.cuhk.edu.hk/~king Department of Computer Science & Engineering The Chinese University of Hong Kong Introduction General Tree

More information

2 Geometry Solutions

2 Geometry Solutions 2 Geometry Solutions jacques@ucsd.edu Here is give problems and solutions in increasing order of difficulty. 2.1 Easier problems Problem 1. What is the minimum number of hyperplanar slices to make a d-dimensional

More information

Multidimensional Data and Modelling

Multidimensional Data and Modelling Multidimensional Data and Modelling 1 Problems of multidimensional data structures l multidimensional (md-data or spatial) data and their implementation of operations between objects (spatial data practically

More information

CONSTRUCTIONS OF QUADRILATERAL MESHES: A COMPARATIVE STUDY

CONSTRUCTIONS OF QUADRILATERAL MESHES: A COMPARATIVE STUDY South Bohemia Mathematical Letters Volume 24, (2016), No. 1, 43-48. CONSTRUCTIONS OF QUADRILATERAL MESHES: A COMPARATIVE STUDY PETRA SURYNKOVÁ abstrakt. Polygonal meshes represent important geometric structures

More information

The Ultimate Maths Vocabulary List

The Ultimate Maths Vocabulary List The Ultimate Maths Vocabulary List The 96 Words Every Pupil Needs to Know by the End of Year 6 KS1 & KS2 How to Use This Resource An essential building block in pupil s understanding of maths is their

More information

Generating All Simple Convexly-Drawable Polar Symmetric 6-Venn Diagrams

Generating All Simple Convexly-Drawable Polar Symmetric 6-Venn Diagrams Generating All Simple Convexly-Drawable Polar Symmetric 6-Venn Diagrams Khalegh Mamakani and Frank Ruskey Dept. of Computer Science, University of Victoria, Canada. Abstract. An n-venn diagram consists

More information

The Geometry of Carpentry and Joinery

The Geometry of Carpentry and Joinery The Geometry of Carpentry and Joinery Pat Morin and Jason Morrison School of Computer Science, Carleton University, 115 Colonel By Drive Ottawa, Ontario, CANADA K1S 5B6 Abstract In this paper we propose

More information