Image Processing Toolbox User's Guide |
Select a polygonal region of interest
Syntax
BW = roipoly(I,c,r) BW = roipoly(I) BW = roipoly(x,y,I,xi,yi) [BW,xi,yi] = roipoly(...) [x,y,BW,xi,yi] = roipoly(...)
Description
Use roipoly
to select a polygonal region of interest within an image. roipoly
returns a binary image that you can use as a mask for masked filtering.
BW = roipoly(I,c,r)
returns the region of interest selected by the polygon described by vectors c
and r
. BW
is a binary image the same size as I
with 0's outside the region of interest and 1's inside.
BW = roipoly(I)
displays the image I
on the screen and lets you specify the polygon using the mouse. If you omit I
, roipoly
operates on the image in the current axes. Use normal button clicks to add vertices to the polygon. Pressing Backspace or Delete removes the previously selected vertex. A shift-click, right-click, or double-click adds a final vertex to the selection and then starts the fill; pressing Return finishes the selection without adding a vertex.
BW = roipoly(x,y,I,xi,yi)
uses the vectors x
and y
to establish a nondefault spatial coordinate system. xi
and yi
are equal-length vectors that specify polygon vertices as locations in this coordinate system.
[BW,xi,yi] = roipoly(...)
returns the polygon coordinates in xi
and yi
. Note that roipoly
always produces a closed polygon. If the points specified describe a closed polygon (i.e., if the last pair of coordinates is identical to the first pair), the length of xi
and yi
is equal to the number of points specified. If the points specified do not describe a closed polygon, roipoly
adds a final point having the same coordinates as the first point. (In this case the length of xi
and yi
is one greater than the number of points specified.)
[x,y,BW,xi,yi] = roipoly(...)
returns the XData
and YData
in x
and y
, the mask image in BW
, and the polygon coordinates in xi
and yi
.
If roipoly
is called with no output arguments, the resulting image is displayed in a new figure.
Class Support
The input image I
can be of class uint8
, uint16
, int16
, single
, or double
. The output image BW
is of class logical
. All other inputs and outputs are of class double
.
Remarks
For any of the roipoly
syntaxes, you can replace the input image I
with two arguments, m
and n
, that specify the row and column dimensions of an arbitrary image. For example, these commands create a 100-by-200 binary mask.
If you specify m
and n
with an interactive form of roipoly
, an m
-by-n
black image is displayed, and you use the mouse to specify a polygon within this image.
Example
I = imread('eight.tif'); c = [222 272 300 270 221 194]; r = [21 21 75 121 121 75]; BW = roipoly(I,c,r); imshow(I) figure, imshow(BW)
See Also
roifilt2
, roicolor
, roifill
, poly2mask
roifilt2 | std2 |
© 1994-2005 The MathWorks, Inc.