bwdistgeodesic

Геодезическое преобразование расстояния двухуровневого изображения

Синтаксис

D = bwdistgeodesic(BW,mask)
D = bwdistgeodesic(BW,C,R)
D = bwdistgeodesic(BW,idx)
D = bwdistgeodesic(___,method)

Описание

D = bwdistgeodesic(BW,mask) вычисляет геодезическое расстояние, преобразовывают, учитывая двухуровневое изображение BW и местоположения seed, заданные mask. Области, где BW является true, представляют допустимые области, которые могут быть пересечены в вычислении расстояния, преобразовывают. Области, где BW является false, представляют ограниченные области, которые не могут быть пересечены на расстоянии вычисление. Для каждого пикселя true в BW геодезическое расстояние преобразовывает, присваивает номер, который является ограниченным расстоянием между тем пикселем и самым близким пикселем true в mask. Выходная матрица D содержит геодезические расстояния.

пример

D = bwdistgeodesic(BW,C,R) вычисляет геодезическое преобразование расстояния двухуровневого изображения BW. Векторы C и R содержат столбец и координаты строки местоположений seed.

D = bwdistgeodesic(BW,idx) вычисляет геодезическое преобразование расстояния двухуровневого изображения BW. idx является вектором линейных индексов местоположений seed.

D = bwdistgeodesic(___,method) вычисляет геодезическое расстояние, преобразовывают использование альтернативной метрики расстояния, заданной method.

Примеры

свернуть все

Создайте демонстрационное двухуровневое изображение для этого примера.

BW = [1 1 1 1 1 1 1 1 1 1;...
     1 1 1 1 1 1 0 0 1 1;...
     1 1 1 1 1 1 0 0 1 1;...
     1 1 1 1 1 1 0 0 1 1;...
     0 0 0 0 0 1 0 0 1 0;...
     0 0 0 0 1 1 0 1 1 0;...
     0 1 0 0 1 1 0 0 0 0;...
     0 1 1 1 1 1 1 0 1 0;...
     0 1 1 0 0 0 1 1 1 0;...
     0 0 0 0 1 0 0 0 0 0];
 BW = logical(BW);

Создайте два вектора местоположений seed.

C = [1 2 3 3 3];
R = [3 3 3 1 2];

Вычислите геодезическое расстояние преобразовывают. Выходные пиксели, для которых BW является ложным, имеют неопределенное геодезическое расстояние и содержат значения NaN. Поскольку нет никакого связанного пути от местоположений seed до элемента BW(10,5), вывод D(10,5) имеет значение Inf.

D = bwdistgeodesic(BW,C,R)
D = 10x10 single matrix

     2     1     0     1     2     3     4     5     6     7
     1     1     0     1     2     3   NaN   NaN     6     7
     0     0     0     1     2     3   NaN   NaN     7     7
     1     1     1     1     2     3   NaN   NaN     8     8
   NaN   NaN   NaN   NaN   NaN     3   NaN   NaN     9   NaN
   NaN   NaN   NaN   NaN     4     4   NaN    10    10   NaN
   NaN     8   NaN   NaN     5     5   NaN   NaN   NaN   NaN
   NaN     8     7     6     6     6     6   NaN     8   NaN
   NaN     8     7   NaN   NaN   NaN     7     7     8   NaN
   NaN   NaN   NaN   NaN   Inf   NaN   NaN   NaN   NaN   NaN

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

свернуть все

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Отберите местоположения, заданные как логический массив, одного размера как BW.

Столбец или координаты строки местоположений seed, заданных как вектор положительных целых чисел. Координатными значениями является допустимый C, индексы R в BW.

Линейные индексы местоположений seed, заданных как вектор положительных целых чисел.

Метрика расстояния, заданная как одно из следующих.

Метод

Описание

'chessboard'

В 2D расстояние шахматной доски между (x 1, y 1) и (x 2, y 2)

max(abs(x1-x2),abs(y1-y2))

'cityblock'

В 2D cityblock расстояние между (x 1, y 1) и (x 2, y 2)

abs(x1-x2) + abs(y1-y2)

'quasi-euclidean'

В 2D квазиевклидово расстояние между (x 1, y 1) и (x 2, y 2)

|x1x2|+(21)|y1y2|, |x1x2|>|y1y2|

(21)|x1x2|+|y1y2|, в противном случае.

Типы данных: char | string

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

свернуть все

Геодезические расстояния, возвращенные как числовой массив, одного размера как BW.

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

Алгоритмы

bwdistgeodesic использует геодезический алгоритм расстояния, описанный в Soille, P., Морфологический Анализ изображения: Принципы и Приложения, 2-й Выпуск, Секокус, NJ, Springer-Verlag, 2003, стр 219–221.

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

|

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