主要内容

imgradient

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

描述

GmagGdir= imgradient(返回梯度大小,Gmag,为梯度方向,Gdir,即二维灰度图像或二值图像

例子

GmagGdir= imgradient(方法属性返回梯度大小和方向方法

例子

GmagGdir= imgradient(Gx孔侑从方向梯度返回梯度大小和方向Gx而且孔侑x而且y方向,分别。

例子

全部折叠

将图像读入工作区。

I = imread(“coins.png”);

计算梯度幅度和方向,指定Prewitt梯度算子。

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

显示梯度大小和方向。

图imshowpair(Gmag, Gdir,“蒙太奇”);标题(“梯度幅度,Gmag(左)和梯度方向,Gdir(右),使用Prewitt方法”

图中包含一个轴对象。使用Prewitt方法,标题为Gradient Magnitude, Gmag(左)和Gradient Direction, Gdir(右)的坐标轴对象包含一个图像类型的对象。

将图像读入工作区。

I = imread(“coins.png”);

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

[Gx,Gy] = imgradientxy(I);

显示方向渐变。

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

图中包含一个轴对象。标题为方向梯度Gx和Gy的轴对象,使用Sobel方法包含一个图像类型的对象。

使用方向梯度计算梯度幅度和方向。

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

显示梯度大小和方向。

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

图中包含一个轴对象。标题为Gradient Magnitude(左)和Gradient Direction(右)的坐标轴对象包含一个image类型的对象。

输入参数

全部折叠

输入图像,指定为二维灰度或二维二值图像。

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

渐变运算符,指定为以下值之一。

方法 描述
“索贝尔”

Sobel梯度算子。像素的梯度是3 × 3邻域像素的加权和。对于垂直的渐变(y)方向,权重为:

[1 2 1 0 0 0 -1 -2 -1]
x方向,权重颠倒了。

“普瑞维特”

Prewitt梯度算子。像素的梯度是3 × 3邻域像素的加权和。对于垂直的渐变(y)方向,权重为:

[1 1 1 0 0 0 -1 -1 -1]
x方向,权重颠倒了。

“中央”

中心差分梯度。像素的梯度是相邻像素的加权差。在y方向,dI/dy = I(y+1) - I(y-1) /2

“中间”

中间差梯度。像素的梯度是相邻像素与当前像素之间的差值。在y方向,dI/dy = I(y+1) - I(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-axis指向增加列下标的方向。)Gdir是一流的,除非输入图像或者方向梯度为数据类型,在这种情况下,它是数据类型

数据类型:|

提示

  • 当在图像边界处应用梯度算子时,图像边界外的值被假定为等于最近的图像边界值。这类似于“复制”中的边界选项imfilter

算法

采用的算法方法imgradient对于列出的每个梯度方法,首先是计算方向梯度,Gx而且孔侑,在x而且y方向,分别。水平(x)轴指向增加列下标的方向。垂直方向(y)轴指向行下标增加的方向。然后从它们的正交分量计算梯度大小和方向Gx而且孔侑

imgradient不规格化梯度输出。如果梯度输出图像的范围必须与输入图像的范围相匹配,则考虑将梯度图像归一化,这取决于方法参数使用。例如,对于Sobel核,归一化因子是1/8,对于Prewitt是1/6,对于Roberts是1/2。

扩展功能

版本历史

在R2012b中引入

全部展开