Функции Image Toolbox / bwlabeln.php
.htmСписок функций Image Processing Toolbox. Описание функции BWLABELN Семинары Обучение Лицензирование Разработка Подписка Форум Регистрация Matlab Toolboxes Simulink Blocksets Femlab Полезное Вход Обработка сигналов и изображений\image Processing ToolboxСписок функций Image Processing Toolbox: Морфологические операции над бинарным изображением
В оглавление \ К следующему разделу \ К предыдущему разделу
BWLABELN Определение связных компонентов бинарного изображения Синтаксис:
L=bwlabeln(BW)
[L, NUM]=bwlabeln(BW)
[L, NUM]=bwlabeln(BW, CONN)
Описание:
Функция L=bwlabeln(BW) возвращает матрицу меток L, содержащую метки связных компонентов на бинарном изображении BW. Изображение BW может быть любой размерности; размерность матрицы меток L совпадает с размерностью изображения BW. Элементы матрицы L представляют собой целые числа больше или равны 0. Пикселы, отмеченные нулями, являются фоном. Пикселы, отмеченные 1, указывают на первый объект; пикселы, отмеченные 2, указывают на второй объект, и т.д. По умолчанию связными являются 8 элементов для двух измерений, 26 – для трех измерений и conndef(ndims(BW),'maximal') – для больших измерений.
Функция [L, NUM]=bwlabeln(BW) возвращает в параметре NUM число связных объектов, найденных на основе анализа бинарного изображения BW.
Функция [L, NUM]=bwlabeln(BW,CONN) определяет компоненты требуемой связности. Параметр CONN может принимать любое из приведенных ниже значений.
Значение параметра
CONN Описание Двумерная связность 4 4–связная окрестность 8 8–связная окрестность Трехмерная связность 6 6–связная окрестность 18 18–связная окрестность 26 26–связная окрестность Связность может быть определена и для других измерений с помощью параметра CONN. Следует отметить, что связность должна быть симметричной или иметь центральный элемент.
Функция bwlabel работает только с двумерными исходными изображениями. Для обработки многомерных изображений следует использовать функцию bwlabeln. В некоторых случаях, можно отдать предпочтение функции bwlabeln, поскольку она отличается более высоким быстродействием. Если объекты исходного двумерного изображения являются относительно крупными по вертикали, в этом случае рекомендуется использовать функцию bwlabel, в других случаях, с целью увеличения быстродействия, следует использовать функцию bwlabeln.
Требования к исходным данным.
BW1 может быть логическим или цифровым массивом любой размерности, также он должен быть не разреженным. Матрица меток L имеет формат представления данных double.
Пример:
BW=cat(3,[1 1 0; 0 0 0; 1 0 0],...
[0 1 0; 0 0 0; 0 1 0],...
[0 1 1; 0 0 0; 0 0 1])
bwlabeln(BW)
ans(:,:,1)=
1 1 0
0 0 0
2 0 0
ans(:,:,2) =
0 1 0
0 0 0
0 2 0
ans(:,:,3) =
0 1 1
0 0 0
0 0 2
Алгоритм:
Функция bwlabeln использует следующие основные процедуры:
1. Сканирование всех пикселов изображения, установка предварительных меток ненулевым пикселам и запись эквивалентных меток в единую таблицу.
2. Принятие решений по эквивалентным классам с использованием алгоритма [1].
3. Смена меток пикселов на основе принятия решений по эквивалентным классам.
Сопутствующие функции: BWLABEL, LABEL2RGB.
Ссылки:
[1] Robert Sedgewick, Algorithms in C, 3rd ed., Addison-Wesley, 1998, pp. 11-20.
В оглавление \ К следующему разделу \ К предыдущему разделу
I Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
II Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2004 г.) На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro E-mail: matlab@exponenta.ru Информация на сайте была обновлена 14.05.05 Copyright 2001-2005 SoftLine Co
Наши баннеры hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=58396&im=33&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("") >