主要内容

imgradient

找到二维图像的梯度大小和方向

描述

(Gmag,Gdir)= imgradient ()返回梯度大小,Gmag梯度方向,Gdir的二维灰度或二进制图像

例子

(Gmag,Gdir)= imgradient (,方法)使用指定的返回梯度的大小和方向方法

例子

(Gmag,Gdir)= imgradient (Gx,孔侑)返回梯度方向梯度的大小和方向Gx孔侑xy方向,分别。

例子

全部折叠

一个图像读入工作区。

我= imread (“coins.png”);

计算梯度大小和方向,指定普瑞维特梯度算子。

[Gmag, Gdir] = imgradient(我“普瑞维特”);

显示梯度大小和方向。

图imshowpair (Gmag Gdir,“蒙太奇”);标题(的梯度大小,Gmag(左)和梯度方向,Gdir(右),使用普瑞维特方法”)

图包含一个坐标轴对象。坐标轴对象与标题梯度大小,Gmag(左),和梯度方向,Gdir(右),使用普瑞维特方法包含一个类型的对象的形象。

一个图像读入工作区。

我= imread (“coins.png”);

计算x- - -y -方向梯度。默认情况下,imgradientxy使用Sobel梯度算子。

(Gx, Gy) = imgradientxy(我);

显示方向梯度。

imshowpair (Gx Gy,“蒙太奇”)标题(的方向梯度Gx Gy,使用Sobel方法”)

图包含一个坐标轴对象。坐标轴对象与标题方向梯度Gx Gy,使用Sobel方法包含一个类型的对象的形象。

计算梯度使用方向梯度大小和方向。

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

显示梯度大小和方向。

imshowpair (Gmag Gdir,“蒙太奇”)标题(梯度的大小(左)和梯度方向(右))

图包含一个坐标轴对象。坐标轴对象与标题梯度大小(左)和梯度方向(右)包含一个类型的对象的形象。

输入参数

全部折叠

输入图像,指定为一个二维灰度或二维二进制图像。

数据类型:||int8|int32|uint8|uint16|uint32|逻辑

梯度算子,指定为以下值之一。

方法 描述
“索贝尔”

Sobel梯度算子。一个像素的梯度是一个3×3的邻域像素的加权和。在垂直梯度(y)方向,重量是:

[1 2 1 0 0 0 1 2 1]
x方向,权重是转置。

“普瑞维特”

普瑞维特梯度算子。一个像素的梯度是一个3×3的邻域像素的加权和。在垂直梯度(y)方向,重量是:

[1 1 1 0 0 0 1 1 1]
x方向,权重是转置。

“中央”

中心差分梯度。一个像素的梯度是一个相邻像素的权重不同。在y方向,dI / dy =(我(y + 1) - (y-1)) / 2

“中间”

中间梯度差异。一个像素的梯度之间的区别是一个相邻像素和当前像素。在y方向,dI / dy =我(y + 1) - (y)

“罗伯特”

罗伯茨梯度算子。一个像素的梯度是对角相邻像素之间的区别。在一个方向上梯度的重量是:

[1 0 0 1]
方向正交,权重是沿着纵轴翻转。

数据类型:字符|字符串

水平梯度,指定为一个数字矩阵。水平(x)轴点的方向增加列下标。您可以使用imgradientxy函数来计算Gx

数据类型:||int8|int32|uint8|uint16|uint32

垂直梯度,指定为一个数字矩阵相同的大小Gx。垂直(y)轴点的方向越来越多的行下标。您可以使用imgradientxy函数来计算孔侑

数据类型:||int8|int32|uint8|uint16|uint32

输出参数

全部折叠

梯度大小,作为一个数字矩阵返回相同大小的图像或定向梯度Gx孔侑Gmag的类,除非输入图像或方向梯度数据类型,在这种情况下的数据类型

数据类型:|

梯度方向,作为一个数字矩阵返回相同大小的梯度大小GmagGdir包含角度范围内(-180、180)逆时针测量从积极的一面x设在。(x设在点的方向增加列下标)。Gdir的类,除非输入图像或定向梯度数据类型,在这种情况下的数据类型

数据类型:|

提示

  • 当应用梯度算子在图像的边界,值范围以外的图像被假定等于最近的图像边界值。这是相似的“复制”边界选项imfilter

算法

算法中所采取的方法imgradient每个列出的梯度方法是先计算方向的梯度,Gx孔侑,在xy方向,分别。水平(x)轴点的方向增加列下标。垂直(y)轴点的方向越来越多的行下标。然后计算梯度大小和方向正交的组件Gx孔侑

imgradient不正常梯度的输出。如果输出图像的梯度范围匹配输入图像的范围,考虑梯度图像正常化,这取决于方法参数使用。例如,Sobel内核,归一化因子是1/8,普瑞维特,这是1/6,罗伯茨是1/2。

扩展功能

版本历史

介绍了R2012b

全部展开