主要内容

imdiffusefilt

各向异性扩散滤波的图像

描述

例子

J= imdiffusefilt ()各向异性扩散滤波适用于图像并返回结果J

例子

J= imdiffusefilt (,名称,值)使用名称-值对各向异性扩散算法的行为变化。

例子

全部折叠

读一个图像到工作区中显示它。

我= imread (“cameraman.tif”);imshow (I)标题(原始图像的)

图包含一个坐标轴对象。标题为原始图像的坐标轴对象包含一个类型的对象的形象。

使用各向异性扩散平滑图像。相比之下,也顺利使用高斯模糊图像。调整标准差σ高斯平滑内核的纹理区域,如草,平滑方法类似的数量。

Idiffusion = imdiffusefilt(我);σ= 1.2;Igaussian = imgaussfilt(我,σ);

显示结果。

蒙太奇({Idiffusion Igaussian},“ThumbnailSize”[])标题(“使用各向异性扩散平滑(左)和高斯模糊(右))

图包含一个坐标轴对象。坐标轴对象与标题使用各向异性扩散平滑(左)和高斯模糊(右)包含一个类型的对象的形象。

各向异性扩散保留了图像的边缘比高斯模糊。

读一个灰度图像,然后应用强高斯噪声。嘈杂的图像显示。

我= imread (“pout.tif”);noisyImage = imnoise(我“高斯”,0,0.005);imshow (noisyImage)标题(“嘈杂的图像”)

图包含一个坐标轴对象。坐标轴与标题嘈杂的图像对象包含一个类型的对象的形象。

计算结构相似度指数(SSIM)测量噪声图像的质量。SSIM值越接近于1,形象越好同意无声的参考图像。

n = ssim(我noisyImage);disp ([“噪声图像的SSIM价值”num2str (n),“。”])
嘈杂的图像的SSIM价值是0.26556。

使用各向异性扩散减少噪音。首先,尝试的默认参数各向异性扩散滤波,并显示结果。

B = imdiffusefilt (noisyImage);imshow (B)标题(与默认参数的各向异性扩散)

图包含一个坐标轴对象。坐标轴对象与标题各向异性扩散与默认参数包含一个类型的对象的形象。

nB = ssim(我,B);disp ([“使用默认的各向异性扩散SSIM值是”num2str (nB),“。”])
SSIM值使用默认各向异性扩散是0.65665。

由噪声图像仍然是退化,所以改进过滤器。选择二次传导方法因为图像特征是更广泛的同质区域比高对比度的边缘。估计最优梯度阈值和使用的迭代次数imdiffuseest函数。由此产生的图像显示。

[gradThresh, numIter] = imdiffuseest (noisyImage,“ConductionMethod”,“二次”);C = imdiffusefilt (noisyImage“ConductionMethod”,“二次”,“GradientThreshold”gradThresh,“NumberOfIterations”,numIter);imshow (C)标题(的各向异性扩散参数的估计)

图包含一个坐标轴对象。坐标轴对象与标题各向异性扩散估计参数包含一个类型的对象的形象。

数控= ssim (C);disp ([“SSIM值使用二次各向异性扩散”num2str (nC)“。”])
SSIM值使用二次各向异性扩散是0.88135。

生成图像噪声不太明显。SSIM值接近1,确认图像的质量得到了改善。

加载一个嘈杂的3 d灰度MRI体积。

负载mristack

执行edge-aware降噪量使用各向异性扩散。为了防止over-smoothing低对比度特征在大脑中,降低从默认的迭代次数多,5。权衡是低噪音。

diffusedImage = imdiffusefilt (mristack,“NumberOfIterations”3);

比较嘈杂的图像和过滤后的详细图像,显示第十片。

imshowpair (mristack (:: 10), diffusedImage (:,: 10),“蒙太奇”)标题(的嘈杂的图像(左)与Anisotropic-Diffusion-Filtered图像(右))

图包含一个坐标轴对象。坐标轴对象标题嘈杂的图像(左)与Anisotropic-Diffusion-Filtered图像(右)包含一个类型的对象的形象。

计算自然图像质量评估者(NIQE)平均得分超过所有片体积。NIQE分数提供了一个定量衡量图像质量,不需要参考图像。低NIQE分数反映更好的感知图像质量。

nframes =大小(mristack, 3);m = 0;d = 0;i = 1: nframes m = m + niqe (mristack(:,:我));d = d + niqe (diffusedImage(:,:我));结束mAvg = m / nframes;dAvg = d / nframes;disp ([的NIQE分数嘈杂的体积是num2str (mAvg),“。”])
NIQE分数的嘈杂的体积是5.7794。
disp ([“使用各向异性扩散NIQE分数”num2str (dAvg),“。”])
NIQE分数使用各向异性扩散是4.1391。

NIQE分数符合减少噪音过滤图像的观察。

输入参数

全部折叠

图像过滤,指定为一个二维灰度图像的大小——- - - - - -n或3 d灰度的体积大小——- - - - - -n——- - - - - -k

请注意

各向异性扩散滤波应用于彩色图像,使用imdiffusefilt独立在每个颜色通道。

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

名称-值参数

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:imdiffusefilt(我“NumberOfIterations”4、“连接”,“最小”)执行各向异性扩散图像4,使用迭代和最小连接。

梯度阈值,指定为逗号分隔组成的“GradientThreshold”和一个数字标量或数字向量的长度NumberOfIterations。的价值GradientThreshold控制传导过程分类梯度值作为一个实际的边缘或噪音。增加的价值GradientThreshold平滑的图像。默认值是图像的动态范围的10%。您可以使用imdiffuseest函数来估计一个合适的值GradientThreshold

使用的迭代次数在扩散过程中,指定为逗号分隔组成的“NumberOfIterations”和一个正整数。您可以使用imdiffuseest函数来估计一个合适的值NumberOfIterations

连接一个像素的邻居,指定为逗号分隔组成的“连接”这些值之一:

  • “最大”最近的邻居认为8—2 d图像,26日最近的邻居3 d图像

  • “最低”——认为最近的邻居的二维图像,4和6的最近邻居3 d图像

传导方法,指定为逗号分隔组成的“ConductionMethod”“指数”“二次”。指数扩散有利于高对比度在低对比度边边。二次扩散有利于广泛地区规模较小的地区。

输出参数

全部折叠

Diffusion-filtered形象,作为数字数组返回相同的大小和数据类型作为输入图像,

引用

[1]Perona一起,P。,和J。Malik. "Scale-space and edge detection using anisotropic diffusion."IEEE®交易模式分析与机器智能。7号卷。12日,1990年7月,页629 - 639。

[2]Gerig G。,O. Kubler, R. Kikinis, and F. A. Jolesz. "Nonlinear anisotropic filtering of MRI data."IEEE医学成像。2号卷。11日,1992年6月,第221 - 232页。

介绍了R2018a