exponenta event banner

graydist

Преобразование расстояния изображения в градациях серого

Описание

T = graydist(I,mask) вычисляет преобразование расстояния в градациях серого для изображения в оттенках серого I. Места, где mask является true являются начальными местоположениями.

пример

T = graydist(I,C,R) задает координаты столбцов и строк начальных местоположений в векторах C и R.

T = graydist(I,ind) определяет линейные индексы начальных местоположений, ind.

T = graydist(___,method) задает альтернативную метрику расстояния, method.

Примеры

свернуть все

Создайте магический квадрат. Матрицы, генерируемые магической функцией, имеют равные суммы строк, столбцов и диагоналей. Минимальный путь между верхним левым и нижним правым углом расположен вдоль диагонали.

A  = magic(3)
A = 3×3

     8     1     6
     3     5     7
     4     9     2

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

T1 = graydist(A,1,1);
T2 = graydist(A,3,3);

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

T  = T1 + T2
T = 3×3

    10    11    17
    13    10    13
    17    17    10

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

свернуть все

Изображение в градациях серого, указанное как числовой или логический массив.

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

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

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

Метрика расстояния, заданная как одно из этих значений.

Метод

Описание

'chessboard'

В 2-D расстояние между (x1, y1) и (x2, y2) шахматной доски равно

max (│x1 - x2│,│y1 - y2│).

'cityblock'

В 2-D расстояние между городскими блоками (x1, y1) и (x2, y2) равно

│x1 x2  + │y1 y2 

'quasi-euclidean'

В 2-D квазиевклидово расстояние между (x1, y1) и (x2, y2) равно

|x1−x2 | + (2−1) |y1−y2 |, |x1−x2 |> | y1−y2 |

(2 1) | x1 x2 | + | y1 − y2 |, в противном случае.

Дополнительные сведения см. в разделе Преобразование расстояния двоичного изображения.

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

свернуть все

Преобразование расстояния, взвешенное серым цветом, возвращаемое в виде числового массива того же размера, что и I. Если входной числовой тип I является double, то выходной числовой тип T является double. Если вход является любым другим числовым типом, то вывод T является single.

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

Алгоритмы

graydist использует алгоритм геодезического времени [1]. Основное уравнение геодезического времени вдоль траектории:

startf (P) = f (po) 2 + f (pl) 2+∑i=1l−1f (pi)

method определяет веса фаски, назначенные локальной окрестности во время распространения наружу. Вклад каждого пикселя в геодезическое время основан на весе фаски в конкретном направлении, умноженном на интенсивность пикселя.

Ссылки

[1] Сойль, П. «Обобщенная геодезия по геодезическому времени». Буквы распознавания образов. Vol.15, декабрь 1994, стр. 1235-1240.

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