Скачиваний:
4
Добавлен:
02.05.2014
Размер:
36.12 Кб
Скачать

Список функций Image Processing Toolbox. Описание функции BWDIST  Семинары   Обучение   Лицензирование   Разработка   Подписка   Форум  Регистрация    Matlab    Toolboxes    Simulink    Blocksets    Femlab    Полезное Вход Обработка сигналов и изображений\image Processing ToolboxСписок функций Image Processing Toolbox: Морфологические операции над бинарным изображением

  В оглавление \ К следующему разделу \ К предыдущему разделу

BWDIST Вычисление расстояний Синтаксис:

D=bwdist(BW)

[D,L]=bwdist(BW)

[D,L]=bwdist(BW, METHOD)

Описание:

Функция D=bwdist(BW) осуществляет вычисление евклидовых расстояний на бинарном изображении BW. Для каждого пиксела на изображении BW результат вычислений определяется числом, которое является расстоянием между текущим пикселом и ближайшим ненулевым пикселом изображения BW. Функция bwdist использует метрику евклидового пространства по умолчанию. Изображение BW может иметь произвольную размерность. Размерность массива D совпадает с размерностью массива BW.

Функция [D,L]=bwdist(BW) также осуществляет вычисления для ближайших соседних пикселов и возвращает результат в матрицу меток L, размерность которой совпадает с размерностями массивов BW и D. Каждый элемент матрицы L содержит в себе линейные индексы ближайших ненулевых пикселов BW.

Функция [D,L]=bwdist(BW,METHOD) осуществляет вычисление расстояний, где параметр METHOD определяет переменную метрическую дистанцию. Параметр METHOD может принимать следующие значения:

'chessboard' В двумерном измерении, расстояние типа “шахматной доски” (chessboard) между пикселами (x1,y1) и (x2,y2) определяется как:

'cityblock' В двумерном измерении, расстояние типа “городских кварталов” (cityblock) между пикселами (x1,y1) и (x2,y2) определяется как:

'euclidean' В двумерном измерении, евклидово расстояние между пикселами (x1,y1) и (x2,y2) определяется как:

Это значение параметра устанавливается по умолчанию. 'quasi-euclidean' В двумерном измерении, квазиевклидово расстояние между пикселами (x1,y1) и (x2,y2) определяется как:

,

, в других случаях. Параметр METHOD может не указываться.

Функция bwdist использует устойчивый алгоритм вычисления евклидового расстояния, который определен для двумерных массивов. Другие подходы базируются на обоснованных аналогиях этого метода. Однако, для альтернативных вычислений расстояний иногда используют ускорители обработки многомерных изображений, особенно если они (изображения) содержат много ненулевых элементов.

Требования к исходным данным.

Исходное изображение BW должно быть числовым или логическим неразреженным массивом. D и L дублирующиеся матрицы, размерность которых равна размерности BW.

Пример:

Здесь приведен пример вычисления евклидового расстояния.

bw=zeros(5,5); bw(2,2)=1; bw(4,4)=1

bw=

0     0     0     0     0

0     1     0     0     0

0     0     0     0     0

0     0     0     1     0

0     0     0     0     0

[D,L]=bwdist(bw)

D=

1.4142    1.0000    1.4142    2.2361    3.1623

1.0000             0    1.0000    2.0000    2.2361

1.4142    1.0000    1.4142    1.0000    1.4142

2.2361    2.0000    1.0000             0    1.0000

3.1623    2.2361    1.4142    1.0000    1.4142

L=

7      7      7      7      7

7      7      7      7    19

7      7      7    19    19

7      7    19    19    19

7    19    19    19    19

В матрице L значения 7 и 19 представляют позиции ненулевых элементов, используя матричную линейную индексацию.

Приведем пример двумерных вычислений (преобразований) расстояний. Для сравнения, на рисунке 1 приведены также другие примеры метода вычислений расстояний.

bw=zeros(200,200); bw(50,50)=1; bw(50,150)=1;

bw(150,100)=1;

D1=bwdist(bw,'euclidean');

D2=bwdist(bw,'cityblock');

D3=bwdist(bw,'chessboard');

D4=bwdist(bw,'quasi-euclidean');

figure

subplot(2,2,1), subimage(mat2gray(D1)), title('Euclidean')

hold on, imcontour(D1)

subplot(2,2,2), subimage(mat2gray(D2)), title('City block')

hold on, imcontour(D2)

subplot(2,2,3), subimage(mat2gray(D3)), title('Chessboard')

hold on, imcontour(D3)

subplot(2,2,4), subimage(mat2gray(D4)), title('Quasi-Euclidean')

hold on, imcontour(D4)

Рис. 1.

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

bw=zeros(50,50,50); bw(25,25,25)=1;

D1=bwdist(bw);

D2=bwdist(bw,'cityblock');

D3=bwdist(bw,'chessboard');

D4=bwdist(bw,'quasi-euclidean');

figure

subplot(2,2,1), isosurface(D1,15), axis equal, view(3)

camlight, lighting gouraud, title('Euclidean')

subplot(2,2,2), isosurface(D2,15), axis equal, view(3)

camlight, lighting gouraud, title('City block')

subplot(2,2,3), isosurface(D3,15), axis equal, view(3)

camlight, lighting gouraud, title('Chessboard')

subplot(2,2,4), isosurface(D4,15), axis equal, view(3)

camlight, lighting gouraud, title('Quasi-Euclidean')

Рис. 2.

Алгоритм.

Для двумерных вычислений (преобразований) евклидового расстояния функция bwdist использует алгоритм, описанный в:

Heinz Breu, Joseph Gil, David Kirkpatrick, and Michael Werman, "Linear Time Euclidean Distance Transform Algorithms," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 17, no. 5 May 1995, pp. 529-533.

Для многомерных вычислений (преобразований) евклидового расстояния функция bwdist использует алгоритм, описанный в:

Jerome H. Friedman, Jon Louis Bentley, and Raphael Ari Finkel, "An Algorithm for Finding Best Matches in Logarithmic Expected Time," ACM Transactions on Mathematics Software, vol. 3, no. 3, September 1997, pp. 209-226.

Для вычислений (преобразований) евклидовых расстояний типа “городских кварталов”, “шахматной доски” и квазиевклидовых преобразований функция bwdist использует двухпроходной, с последовательным сканированием алгоритм, описанный в:

A. Rosenfeld and J. Pfaltz, "Sequential operations in digital picture processing," Journal of the Association for Computing Machinery, vol. 13, no. 4, 1966, pp. 471-494.

Другие виды дистанционных измерений описаны в:

David Paglieroni, "Distance Transforms: Properties and Machine Vision Applications," Computer Vision, Graphics, and Image Processing: Graphical Models and Image Processing, vol. 54, no. 1, January 1992, pp. 57-58.

Сопутствующие функции: WATERSHED.

  В оглавление \ К следующему разделу \ К предыдущему разделу

  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("") >

Соседние файлы в папке Функции Image Toolbox