如何计算梯度';方向';在matlab中沿x轴和y轴的图像(不是大小)?
我使用了imgradientxy();但它给出的值是-600,我需要的角度值在-180到180之间。分别在两个方向上 值分别为0和90。渐变是通过如何计算梯度';方向';在matlab中沿x轴和y轴的图像(不是大小)?,matlab,Matlab,我使用了imgradientxy();但它给出的值是-600,我需要的角度值在-180到180之间。分别在两个方向上 值分别为0和90。渐变是通过imgradientxy()在X和Y方向上计算的,您可以从其名称推断出 但是,点中的梯度定义如下: 您可以执行[Gx,Gy]=imgradientxy(img) 这意味着你的总梯度(不是“方向梯度”,即Gx和Gy)是一个向量。点i中的(Gxi,Gyi)向量 计算向量的模数和角度是一个简单的代数问题: 模数、震级、欧几里德范数或您更倾向于称之为: m=
imgradientxy()
在X和Y方向上计算的,您可以从其名称推断出
但是,点中的梯度定义如下:
您可以执行[Gx,Gy]=imgradientxy(img)
这意味着你的总梯度(不是“方向梯度”,即Gx和Gy)是一个向量。点i
中的(Gxi,Gyi)
向量
计算向量的模数和角度是一个简单的代数问题:
模数、震级、欧几里德范数或您更倾向于称之为:
m=norm([Gx,Gy]);
角度:
theta=atan(Gy/Gx); %radians
theta=atand(Gy/Gx); %degrees
值分别为0和90。渐变是通过
imgradientxy()
在X和Y方向上计算的,您可以从其名称推断出
但是,点中的梯度定义如下:
您可以执行[Gx,Gy]=imgradientxy(img)
这意味着你的总梯度(不是“方向梯度”,即Gx和Gy)是一个向量。点i
中的(Gxi,Gyi)
向量
计算向量的模数和角度是一个简单的代数问题:
模数、震级、欧几里德范数或您更倾向于称之为:
m=norm([Gx,Gy]);
角度:
theta=atan(Gy/Gx); %radians
theta=atand(Gy/Gx); %degrees
或者你可以使用
imgradient
,它可以直接输出幅度和方向。@nkjt哦,是的,的确如此!但是使用imgradientxy
OP可以学到一些东西,或者你可以使用imgradientxy
直接输出幅度和方向。@nkjt是的,的确如此!但是使用imgradientxy
OP可以学到一些XD