文档

gradientweight

根据图像梯度计算图像像素的权重

语法

W = gradientweight(I)
W = gradientweight(I,sigma)
W = gradientweight(___,名称,值)

描述

W= gradientweight (计算图像中每个像素的像素权重基于该像素处的梯度幅值,并返回权重数组W.像素的权重与像素位置的梯度值成反比。梯度幅值小的像素(平滑区域)权重大,梯度幅值大的像素(如边缘)权重小。

W= gradientweight (σ使用σ作为用于计算图像梯度的高斯导数的标准偏差。

例子

W= gradientweight (___,名称,值返回权重数组W使用名称-值对来控制权重计算的各个方面。

例子

全部折叠

这个示例使用基于从图像梯度中获得的权重的快速行进方法分割图像。

读取图像并显示它。

I = imread(“coins.png”);imshow (I)标题(原始图像的

根据图像梯度计算权重。

σ = 1.5;W = gradientweight(I, sigma,“RolloffFactor”3,“WeightCutoff”, 0.25);

选择一个种子位置。

R = 70;C = 216;持有;情节(C R“r”。“线宽”, 1.5,“MarkerSize”15);标题(“原始图像与种子位置”

使用权重数组分割图像。

脱粒= 0.1;[BW, D] = imsegfmm(W, C, R, thresh);图,imshow(BW)标题(“分割图像”)举行;情节(C R“r”。“线宽”, 1.5,“MarkerSize”15);

测地线距离矩阵D可以使用不同的阈值进行阈值设置,得到不同的分割结果。

D) title(“测地线距离”)举行;情节(C R“r”。“线宽”, 1.5,“MarkerSize”15);

输入参数

全部折叠

输入图像,指定为灰度图像。必须是非稀疏的。

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

高斯函数导数的标准偏差,指定为类的正标量

例子:σ = 1.0;W = gradientweight(I, sigma)

数据类型:

名称-值对参数

的可选逗号分隔对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在单引号内(' ').您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:W = gradientweight(I,1.5,'RolloffFactor',3,'WeightCutoff',0.25);

全部折叠

输出权重滚转因子,指定为由逗号分隔的对组成“RolloffFactor”和class的正标量.控制权重值下降的速度作为梯度幅度的函数。当被视为2-D图时,像素强度值可能会在区域边缘逐渐变化,从而形成一个平缓的斜坡。在分段图像中,您可能希望边缘定义更明确。使用滚转因子,可以在强度值开始变化的点上控制权重值曲线的斜率。如果指定一个高值,输出权重值会在平滑区域的边缘急剧下降。如果您指定一个较低的值,则输出权重在边缘附近有一个更渐进的下降。建议取值范围为(0.5 - 4)

数据类型:

权重值的阈值,指定为逗号分隔的对,由“WeightCutoff”和class的正标量.如果使用此参数设置权重值的阈值,它将抑制小于您指定的值的任何权重值,将这些像素设置为一个较小的常量值(1e-3)。当使用输出权重数组时,此参数可用于提高输出的准确性W作为快速行军法分割函数的输入,imsegfmm

数据类型:

输出参数

全部折叠

权重数组,作为数字数组返回。权重数组与输入图像大小相同,.权重数组属于类,除非在这种情况下,它是一流的

提示

  • gradientweight类的所有类的内部计算使用双精度浮点运算,除非是一流的,在这种情况下gradientweight内部使用单精度浮点运算。

另请参阅

|

在R2014b中引入

这个话题有用吗?