主要内容

denoiseImage

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

说明

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

此函数需要 Deep Learning Toolbox™。

示例

示例

全部折叠

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

net = denoisingNetwork("DnCNN");

将一个灰度图像加载到工作区,然后创建图像的含噪版本。

I = imread("cameraman.tif");
noisyI = imnoise(I,"gaussian",0,0.01);

将这两个图像以蒙太奇方式显示。

montage({I,noisyI})
title("Original Image (Left) and Noisy Image (Right)")

Figure contains an axes object. The hidden axes object with title Original Image (Left) and Noisy Image (Right) contains an object of type image.

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

denoisedI = denoiseImage(noisyI,net);
imshow(denoisedI)
title("Denoised Image")

Figure contains an axes object. The hidden axes object with title Denoised Image contains an object of type image.

输入参数

全部折叠

含噪图像,指定为单个二维图像或二维图像堆叠。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 中推出

全部展开