MATLAB 帮助中心
使用深度神经网络对图像去噪
B = denoiseImage(A,net)
B = denoiseImage(A,net) 使用由 net 指定的去噪深度神经网络从含噪图像 A 中去除噪声。
B
A
net
此函数需要 Deep Learning Toolbox™。
示例
全部折叠
此示例使用:
加载预训练去噪卷积神经网络 "DnCNN"。
"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)")
从含噪图像中去除噪声,然后显示结果。
denoisedI = denoiseImage(noisyI,net); imshow(denoisedI) title("Denoised Image")
含噪图像,指定为单个二维图像或二维图像堆叠。A 可以是:
大小为 m×n 的二维灰度图像。
大小为 m×n×c 的二维多通道图像,其中 c 是图像通道数。例如,对于 RGB 图像,c 为 3,对于四通道图像(如具有红外通道的 RGB 图像)为 4。
等大小二维图像堆叠。在这种情况下,A 的大小为 m×n×c×p,其中 p 是堆叠中的图像数量。
数据类型: single | double | uint8 | uint16
single
double
uint8
uint16
dlnetwork
去噪深度神经网络,指定为 dlnetwork (Deep Learning Toolbox) 对象。该网络应基于具有与 A 相同数量颜色通道的图像进行训练。网络的输入大小不需要与 A 的大小匹配。
如果含噪图像或图像堆叠 A 只有一个通道且具有高斯噪声,则您可以通过使用 denoisingNetwork 函数获得预训练网络。有关创建去噪网络的详细信息,请参阅Train and Apply Denoising Neural Networks。
denoisingNetwork
去噪图像,以单个二维图像或二维图像堆叠形式返回。B 具有与 A 相同的大小和数据类型。
全部展开
DAGNetwork
SeriesNetwork
从 R2024a 开始,不推荐使用 DAGNetwork (Deep Learning Toolbox) 和 SeriesNetwork (Deep Learning Toolbox) 对象。请将去噪网络指定为 dlnetwork (Deep Learning Toolbox) 对象。
目前没有停止支持 DAGNetwork 和 SeriesNetwork 对象的计划。但是,dlnetwork 对象具有以下优点:
dlnetwork 对象支持更广泛的网络架构,这样您就可以使用 trainnet (Deep Learning Toolbox) 函数轻松训练或从外部平台导入这些网络架构。
trainnet
dlnetwork 对象提供更多灵活性。它们能更广泛地支持当前和即将推出的 Deep Learning Toolbox 功能。
dlnetwork 对象提供统一的数据类型,支持网络构建、预测、内置训练、压缩和自定义训练循环。
dlnetwork 训练和预测通常比 DAGNetwork 及 SeriesNetwork 训练和预测更快。
denoisingNetwork | dnCNNLayers | denoisingImageDatastore
dnCNNLayers
denoisingImageDatastore
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处