主要内容

denoiseImage

使用深度神经网络对图像去噪

说明

B = denoiseImage(A,net) 使用由 net 指定的去噪深度神经网络从含噪图像 A 中去除噪声。

此函数需要 Deep Learning Toolbox™。

示例

示例

全部折叠

加载预训练去噪卷积神经网络 "DnCNN"

net = denoisingNetwork("DnCNN");

将一个灰度图像读入工作区中,然后显示该图像。

I = imread("cameraman.tif");
imageshow(I)

创建该图像的含噪版本,然后显示含噪图像。

noisyI = imnoise(I,"gaussian",0,0.01);
imageshow(noisyI)

从含噪图像中去除噪声,然后显示结果。

denoisedI = denoiseImage(noisyI,net);
imageshow(denoisedI)

输入参数

全部折叠

含噪图像,指定为单个二维图像或二维图像堆叠。A 可以是:

  • 大小为 m×n 的二维灰度图像。

  • 大小为 m×n×c 的二维多通道图像,其中 c 是图像通道数。例如,对于 RGB 图像,c 为 3,对于四通道图像(如具有红外通道的 RGB 图像)为 4。

  • 等大小二维图像堆叠。在这种情况下,A 的大小为 m×n×c×p,其中 p 是堆叠中的图像数量。

数据类型: single | double | uint8 | uint16

去噪深度神经网络,指定为 dlnetwork (Deep Learning Toolbox) 对象。该网络应基于具有与 A 相同数量颜色通道的图像进行训练。网络的输入大小不需要与 A 的大小匹配。

如果含噪图像或图像堆叠 A 只有一个通道且具有高斯噪声,则您可以通过使用 denoisingNetwork 函数获得预训练网络。有关创建去噪网络的详细信息,请参阅Train and Apply Denoising Neural Networks

输出参量

全部折叠

去噪图像,以单个二维图像或二维图像堆叠形式返回。B 具有与 A 相同的大小和数据类型。

版本历史记录

在 R2017b 中推出

全部展开