visboundaries

Постройте контуры области

Синтаксис

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

Описание

пример

visboundaries(BW) проводит границы областей в двухуровневом изображении BW на текущей системе координат. BW является 2D двухуровневым изображением, где пиксели, которые являются логическими true, принадлежат области переднего плана и пикселям, которые являются логическими, false составляет фон. visboundaries использует bwboundaries, чтобы найти граничные пиксельные местоположения в изображении.

visboundaries(B) проводит границы области, заданные B, где B является массивом ячеек, содержащим граничные пиксельные местоположения областей, подобных в структуре к первому выводу от bwboundaries. Каждая ячейка содержит Q-by-2 матрица, где Q является количеством граничных пикселей для соответствующей области. Каждая строка их Q-by-2 матрицы содержит координаты строки и столбца граничного пикселя.

visboundaries(ax,___) проводит границы области на осях, заданных ax.

пример

visboundaries(___,Name,Value) передает аргументы пары "имя-значение", чтобы задать дополнительные свойства контуров. Названия параметра могут быть сокращены.

h = visboundaries(___) возвращает указатель h, для контуров.

Примеры

свернуть все

Readimage.

BW = imread('blobs.png');

Вычислите контуры.

B = bwboundaries(BW);

Изображение на дисплее и контуры графика на изображении.

imshow(BW)
hold on
visboundaries(B)

Считайте изображение и отобразите его.

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

Сегментируйте изображение с помощью активных контуров (змеи) алгоритм. Во-первых, задайте начальное местоположение контура близко к объекту, который должен быть сегментирован.

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

Отобразите начальный контур на оригинальном изображении синего цвета.

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

Сегментируйте изображение с помощью метода 'edge' с помощью 200 итераций.

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

Отобразите итоговый контур на оригинальном изображении красного цвета.

visboundaries(bw,'Color','r');
title('Blue - Initial Contour, Red - Final Contour');

Входные параметры

свернуть все

Двухуровневое изображение, заданное как логический массив.

Типы данных: логический

Граничные пиксельные местоположения, заданные как массив ячеек Q-by-2 матрицы, содержащие координаты строки и столбца, где Q является количеством граничных пикселей для соответствующей области.

Типы данных: cell

Отобразите, на котором можно провести границы, заданные как объект осей.

Типы данных: double

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: visboundaries(bw,'Color','b');

Цвет контура, заданного как триплет RGB, шестнадцатеричный цветовой код, название цвета или короткое название цвета.

Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].

  • Шестнадцатеричный цветовой код является вектором символов или скаляром строки, который запускается с символа хеша (#), сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут колебаться от 0 до F. Значения не являются чувствительными к регистру. Таким образом цветовые коды '#FF8800', '#ff8800', '#F80' и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'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'Не применяетсяНе применяетсяНе применяетсяНет цвета

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB® во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[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'

Пример: visboundaries(bw,'Color','r');

Пример: visboundaries(bw,'Color','green');

Пример: visboundaries(bw,'Color',[0 0 1]);

Пример: visboundaries(bw,'Color','#FF8800');

Стиль линии граничного ребра, заданного как пара, разделенная запятой, состоящая из 'LineStyle' и любого спецификатора строки в приведенной ниже таблице.

Стиль линииОписаниеПолучившаяся строка
'-'Сплошная линия

'--'Пунктирная линия

':'Пунктирная линия

'-.'Штрих-пунктирная линия

'none'Никакая строкаНикакая строка

Пример: visboundaries(bw,'LineStyle','-.');

Ширина строки используется для контура, заданного как числовое значение. Задайте это значение в точках, где одна точка = 1/72 дюйма.

Пример: visboundaries(bw,'LineWidth', 4);

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Увеличьте проведенную границу с контрастированием функций, чтобы улучшить видимость относительно переменного фона, заданного как логический флаг true или false.

Пример: visboundaries(bw,'EnhanceVisibility',true);

Типы данных: логический

Выходные аргументы

свернуть все

Граница, возвращенная как объект hggroup. h является дочерним элементом осей ax, если задано, в противном случае h является дочерним элементом текущей системы координат.

Смотрите также

| | |

Представленный в R2015a

Для просмотра документации необходимо авторизоваться на сайте