exponenta event banner

visboundaries

Границы области печати

Описание

пример

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

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

visboundaries(ax,___) вычерчивание границ области по осям, указанным ax.

пример

visboundaries(___,Name,Value) использует аргументы пары «имя-значение» для указания дополнительных свойств границ.

h = visboundaries(___) возвращает дескриптор h, для границ.

Примеры

свернуть все

Чтение изображения.

BW = imread('blobs.png');

Вычислить границы.

B = bwboundaries(BW);

Отображение изображения и границ печати на изображении.

imshow(BW)
hold on
visboundaries(B)

Figure contains an axes. The axes contains 3 objects of type line, image.

Прочтите изображение и выведите его на экран.

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

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

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

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

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

Figure contains an axes. The axes contains 3 objects of type line, image.

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

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

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

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

Figure contains an axes. The axes with title Blue - Initial Contour, Red - Final Contour contains 5 objects of type line, image.

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

свернуть все

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

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

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

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

Изображение для построения границ, заданное как объект оси.

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

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

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. 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);

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

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

свернуть все

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

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