Documentation

### This is machine translation

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

# visboundaries

Plot region boundaries

## Syntax

``visboundaries(BW)``
``visboundaries(B)``
``visboundaries(ax,___)``
``visboundaries(___,Name,Value)``
``h = visboundaries(___)``

## Description

example

````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`.```

example

````visboundaries(___,Name,Value)` passes the name-value pair arguments to specify additional properties of the boundaries. Parameter names can be abbreviated.```
````h = visboundaries(___)` returns a handle `h`, for the boundaries.```

## Examples

collapse all

`BW = imread('blobs.png');`

Compute boundaries.

`B = bwboundaries(BW);`

Display image and plot boundaries on image.

```imshow(BW) hold on visboundaries(B)```

```I = imread('toyobjects.png'); imshow(I) 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.

`visboundaries(mask,'Color','b');`

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.

```visboundaries(bw,'Color','r'); 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 quotes. You can specify several name and value pair arguments in any order as `Name1,Value1,...,NameN,ValueN`.

Example: `visboundaries(bw,'Color','b');`

Color of the boundary, specified as an RGB triplet, a hexadecimal color code, a color name, or a short color name.

For a custom color, specify an RGB triplet or a hexadecimal color code.

• An RGB triplet is a three-element row vector whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range `[0,1]`; for example, ```[0.4 0.6 0.7]```.

• A hexadecimal color code is a character vector or a string scalar that starts with a hash symbol (`#`) followed by three or six hexadecimal digits, which can range from `0` to `F`. The values are not case sensitive. Thus, the color codes `'#FF8800'`, `'#ff8800'`, `'#F80'`, and `'#f80'` are equivalent.

Alternatively, you can specify some common colors by name. This table lists the named color options, the equivalent RGB triplets, and hexadecimal color codes.

Color NameShort NameRGB TripletHexadecimal Color CodeAppearance
`'red'``'r'``[1 0 0]``'#FF0000'`

`'green'``'g'``[0 1 0]``'#00FF00'`

`'blue'``'b'``[0 0 1]``'#0000FF'`

`'cyan'` `'c'``[0 1 1]``'#00FFFF'`

`'magenta'``'m'``[1 0 1]``'#FF00FF'`

`'yellow'``'y'``[1 1 0]``'#FFFF00'`

`'black'``'k'``[0 0 0]``'#000000'`

`'white'``'w'``[1 1 1]``'#FFFFFF'`

`'none'`Not applicableNot applicableNot applicableNo color

Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB® uses in many types of plots.

`[0 0.4470 0.7410]``'#0072BD'`

`[0.8500 0.3250 0.0980]``'#D95319'`

`[0.9290 0.6940 0.1250]``'#EDB120'`

`[0.4940 0.1840 0.5560]``'#7E2F8E'`

`[0.4660 0.6740 0.1880]``'#77AC30'`

`[0.3010 0.7450 0.9330]``'#4DBEEE'`

`[0.6350 0.0780 0.1840]``'#A2142F'`

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

Example: `visboundaries(bw,'Color','green');`

Example: ```visboundaries(bw,'Color',[0 0 1]);```

Example: `visboundaries(bw,'Color','#FF8800');`

Line style of boundary edge, specified as the comma-separated pair consisting of `'LineStyle'` and any line specifier in the table below.

Line StyleDescriptionResulting Line
`'-'`Solid line

`'--'`Dashed line

`':'`Dotted line

`'-.'`Dash-dotted line

`'none'`No lineNo line

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, returned as an `hggroup` object. `h` is the child of the axes `ax` if specified, otherwise `h` is the child of the current axes.