Image Processing Toolbox User's Guide |
Tracing Boundaries
The toolbox includes two functions you can use to find the boundaries of objects in a binary image:
The bwtraceboundary
function returns the row and column coordinates of all the pixels on the border of an object in an image. You must specify the location of a border pixel on the object as the starting point for the trace.
The bwboundaries
function returns the row and column coordinates of border pixels of all the objects in an image.
For both functions, the nonzero pixels in the binary image belong to an object and pixels with the value 0 (zero) constitute the background.
The following example uses bwtraceboundary
to trace the border of an object in a binary image and then uses bwboundaries
to trace the borders of all the objects in the image:
bwtraceboundary
and bwboundaries
only work with binary images.
bwboundary
uses this point as the starting location for the boundary tracing.
bwtraceboundary
to trace the boundary from the specified point. As required arguments, you must specify a binary image, the row and column coordinates of the starting point, and the direction of the first step. The example specifies north ('N'
). For information about this parameter, see Choosing the First Step and Direction for Boundary Tracing.
bwtraceboundary
to plot the border on the image.
bwboundaries
function. By default, bwboundaries
finds the boundaries of all objects in an image, including objects inside other objects. In the binary image used in this example, some of the coins contain black areas that bwboundaries
interprets as separate objects. To ensure that bwboundaries
only traces the coins, use imfill
to fill the area inside each coin.
bwboundaries
returns a cell array, where each cell contains the row/column coordinates for an object in the image.
bwboundaries
.
Choosing the First Step and Direction for Boundary Tracing
For certain objects, you must take care when selecting the border pixel you choose as the starting point and the direction you choose for the first step parameter (north, south, etc.).
For example, if an object contains a hole and you select a pixel on a thin part of the object as the starting pixel, you can trace the outside border of the object or the inside border of the hole, depending on the direction you choose for the first step. For filled objects, the direction you select for the first step parameter is not as important.
To illustrate, this figure shows the pixels traced when the starting pixel is on a thin part of the object and the first step is set to north and south. The connectivity is set to 8 (the default).
Impact of First Step and Direction Parameters on Boundary Tracing
Analyzing an Image | Detecting Lines Using the Hough Transform |
© 1994-2005 The MathWorks, Inc.