This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Plot region boundaries


obj = visboundaries(___)
H = visboundaries(___,Name,Value)



visboundaries(BW) draws boundaries of regions in the binary image BW on the current axes. BW is a 2D binary image where pixels that are logical true belong to the foreground region and pixels that are logical false constitute the background. visboundaries uses bwboundaries to find the boundary pixel locations in the image.


visboundaries(B) draws region boundaries specified by B, where B is a cell array containing the boundary pixel locations of the regions, similar in structure to the first output from bwboundaries. Each cell contains a Q-by-2 matrix, where Q is the number of boundary pixels for the corresponding region. Each row of these Q-by-2 matrices contains the row and column coordinates of a boundary pixel.

visboundaries(AX,___) draws region boundaries on the axes specified by AX.

obj = visboundaries(___) returns an hggroup object for the boundaries. The hggroup object, obj, is the child of the axes object, AX.


H = visboundaries(___,Name,Value) passes the name-value pair arguments to specify additional properties of the boundaries. Parameter names can be abbreviated.


collapse all

Read image.

BW = imread('blobs.png');

Compute boundaries.

B = bwboundaries(BW);

Display image and plot boundaries on image.

hold on

Read image and display it.

I = imread('toyobjects.png');
hold on

Segment the image using the active contours (snakes) algorithm. First, specify the initial contour location close to the object that is to be segmented.

mask = false(size(I));
mask(50:150,40:170) = true;

Display the initial contour on the original image in blue.


Segment the image using the 'edge' method using 200 iterations.

bw = activecontour(I, mask, 200, 'edge');

Display the final contour on the original image in red.

title('Blue - Initial Contour, Red - Final Contour');

Input Arguments

collapse all

Binary image, specified as a logical array.

Data Types: logical

Boundary pixel locations, specified as a cell array of Q-by-2 matrices containing row and column coordinates, where Q is the number of boundary pixels for the corresponding region.

Data Types: cell

Image on which to draw boundaries, specified as an axes object.

Data Types: double

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: visboundaries(bw,'Color','r');

collapse all

Color of the boundary, specified as a MATLAB colorspec.

Example: visboundaries(bw,'Color','r');

Style of boundary line, specified as a MATLAB line spec.

Example: visboundaries(bw,'LineStyle','-.');

Width of the line used for the boundary, specified as a numeric value. Specify this value in points, where one point = 1/72 inch.

Example: visboundaries(bw,'LineWidth', 4);

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Augment the drawn boundary with contrasting features to improve visibility on a varying background, specified as the logical flag true or false.

Example: visboundaries(bw,'EnhanceVisibility', true);

Data Types: logical

Output Arguments

collapse all

Boundary line, specified as an hggroup object. The hggroup object is the child of the axes object, AX.

Introduced in R2015a

Was this topic helpful?