exponenta event banner

imgradientxy

Поиск направленных градиентов 2-D изображения

Описание

пример

[Gx,Gy] = imgradientxy(I) возвращает направленные градиенты, Gx и Gy оттенков серого или двоичного изображения I.

пример

[Gx,Gy] = imgradientxy(I,method) возвращает направленные градиенты с использованием указанного method.

Примеры

свернуть все

Считывание изображения в рабочую область.

I = imread('coins.png');

Рассчитайте градиенты по оси X и оси Y с помощью оператора градиента Prewitt.

[Gx, Gy] = imgradientxy(I,'prewitt');

Отображение направленных градиентов.

figure
imshowpair(Gx, Gy, 'montage');
title('Directional Gradients: x-direction, Gx (left), y-direction, Gy (right), using Prewitt method')

Figure contains an axes. The axes with title Directional Gradients: x-direction, Gx (left), y-direction, Gy (right), using Prewitt method contains an object of type image.

Считывание изображения в рабочую область.

I = imread('coins.png');

Вычислите градиенты по оси X и оси Y. По умолчанию imgradientxy использует оператор градиента Собеля.

[Gx,Gy] = imgradientxy(I);

Отображение направленных градиентов.

imshowpair(Gx,Gy,'montage')
title('Directional Gradients Gx and Gy, Using Sobel Method')

Figure contains an axes. The axes with title Directional Gradients Gx and Gy, Using Sobel Method contains an object of type image.

Рассчитайте величину и направление градиента с помощью направленных градиентов.

[Gmag,Gdir] = imgradient(Gx,Gy);

Отображение величины и направления градиента.

imshowpair(Gmag,Gdir,'montage')
title('Gradient Magnitude (Left) and Gradient Direction (Right)')

Figure contains an axes. The axes with title Gradient Magnitude (Left) and Gradient Direction (Right) contains an object of type image.

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

свернуть все

Входное изображение, указанное как 2-D изображение в градациях серого или 2-D двоичное изображение.

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

Оператор градиента, заданный как одно из следующих значений.

МетодОписание
'sobel'

Оператор градиента Собеля. Градиент пикселя представляет собой взвешенную сумму пикселей в окрестности 3 на 3. В вертикальном направлении (y) весами являются:

[ 1  2  1 
  0  0  0 
 -1 -2 -1 ]
В направлении х веса транспонируются.

'prewitt'

Оператор градиента предварительного увлажнения. Градиент пикселя представляет собой взвешенную сумму пикселей в окрестности 3 на 3. В вертикальном направлении (y) весами являются:

[ 1  1  1 
  0  0  0 
 -1 -1 -1 ]
В направлении х веса транспонируются.

'central'

Центральный градиент разности. Градиент пикселя представляет собой взвешенную разницу соседних пикселей. В направлении y dI/dy = (I(y+1) - I(y-1))/2.

'intermediate'

Градиент промежуточной разности. Градиент пикселя - это разность между соседним пикселем и текущим пикселем. В направлении y dI/dy = I(y+1) - I(y).

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

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

свернуть все

Горизонтальный градиент, возвращаемый в виде числовой матрицы того же размера, что и изображение I. Горизонтальная ось (x) указывает в направлении увеличения подстрочных значений столбцов. Gx имеет класс double, за исключением входного изображения I имеет класс single, в случае чего Gx имеет класс single.

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

Вертикальный градиент, возвращаемый в виде числовой матрицы того же размера, что и изображение I. Вертикальная ось (y) указывает в направлении увеличения подстрочных значений строк. Gy имеет класс double, за исключением входного изображения I имеет класс single, в случае чего Gy имеет класс single.

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

Совет

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

Алгоритмы

Алгоритмический подход заключается в вычислении направленных градиентов относительно осей x и y. Ось X определяется вдоль столбцов, идущих вправо, а ось Y - вдоль строк, идущих вниз.

imgradientxy не нормализует выходные данные градиента. Если диапазон градиентного выходного изображения должен соответствовать диапазону входного изображения, рекомендуется нормализовать градиентное изображение в зависимости от method используется аргумент. Например, при ядре Собеля коэффициент нормализации равен 1/8, а для Prewitt - 1/6.

Расширенные возможности

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