visboundaries

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

Описание

пример

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

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

visboundaries(ax,___) проводит границы области на осях, заданных ax. Задайте ax как первый входной параметр, сопровождаемый любой из комбинаций входных аргументов в предыдущих синтаксисах.

пример

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

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

Примеры

свернуть все

Readimage.

BW = imread('blobs.png');

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

B = bwboundaries(BW);

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

imshow(BW)
hold on
visboundaries(B)

Figure contains an axes object. The axes object 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 object. The axes object 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 object. The axes object with title Blue - Initial Contour, Red - Final Contour contains 5 objects of type line, image.

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

свернуть все

Бинарное изображение в виде логического массива.

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

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

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

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

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары 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'

Sample of the color red

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

Sample of the color green

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

Sample of the color blue

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

Sample of the color cyan

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

Sample of the color magenta

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

Sample of the color yellow

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

Sample of the color black

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

Sample of the color white

'none'Не применяетсяНе применяетсяНе применяетсяНет цвета

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

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Пример: 'Color','r'

Пример: 'Color','green'

Пример: 'Color',[0 0 1]

Пример: 'Color','#FF8800'

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

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

Sample of solid line

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

Sample of dashed line

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

Sample of dotted line

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

Sample of dash-dotted line, with alternating dashes and dots

'none'Никакая линияНикакая линия

Пример: 'LineStyle','-.'

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

Пример: 'LineWidth',4

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

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

Пример: 'EnhanceVisibility',true

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

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

свернуть все

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

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

| | |

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