主要内容

将噪声从彩色图像使用Pretrained神经网络

这个例子展示了如何从一个RGB图像去除高斯噪声去噪卷积神经网络。

读彩色图像到工作区中,将数据转换为数据类型。显示原始彩色图像。

pristineRGB = imread (“lighthouse.png”);pristineRGB = im2double (pristineRGB);imshow (pristineRGB)标题(“原始图像”)

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

添加零均值高斯白噪声方差为0.01的形象。的imnoise独立函数噪声增加每个颜色通道。吵闹的彩色图像显示。

noisyRGB = imnoise (pristineRGB,“高斯”,0,0.01);imshow (noisyRGB)标题(“嘈杂的图像”)

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

DnCNN pretrained卷积神经网络去噪,作用于单通道图像。吵闹的RGB图像分割成三个单独的颜色通道。

[noisyR, noisyG noisyB] = imsplit (noisyRGB);

加载pretrained DnCNN网络。

网= denoisingNetwork (“dncnn”);

使用DnCNN网络删除从每个颜色通道噪声。

denoisedR = denoiseImage (noisyR,净);denoisedG = denoiseImage (noisyG,净);denoisedB = denoiseImage (noisyB,净);

再结合去噪图像去噪RGB颜色通道形式。去噪彩色图像显示。

denoisedRGB =猫(3 denoisedR denoisedG denoisedB);imshow (denoisedRGB)标题(”“去噪图像)

图包含一个坐标轴对象。坐标轴对象标题包含一个类型的对象图像去噪图像。

计算峰值信噪比(PSNR)噪声和去噪图像。更大的PSNR值表明,噪声相对较小的信号,并与较高的图像质量。

noisyPSNR = psnr (noisyRGB pristineRGB);流(“\ n嘈杂的图像的PSNR值% 0.4 f。”,noisyPSNR);
噪声图像的PSNR值是20.6395。
denoisedPSNR = psnr (denoisedRGB pristineRGB);流(“\ n % 0.4去噪图像的PSNR值f。”,denoisedPSNR);
去噪图像的PSNR值是29.6857。

计算结构相似度(SSIM)指数吵闹的和去噪图像。一个SSIM指标接近1与参考图像,显示良好的协议和更高的图像质量。

noisySSIM = ssim (noisyRGB pristineRGB);流(“\ n的SSIM值噪声图像% 0.4 f。”,noisySSIM);
嘈杂的图像的SSIM价值是0.7393。
denoisedSSIM = ssim (denoisedRGB pristineRGB);流(“\ n的SSIM值去噪图像% 0.4 f。”,denoisedSSIM);
去噪图像的SSIM价值是0.9507。

在实践中,经常有相关噪声图像的颜色通道。先删除相关的图像噪声,将RGB图像转换成颜色与亮度通道空间,如L * a * b *颜色空间。去除噪声对亮度通道,然后回来去噪图像转换为RGB颜色空间。

另请参阅

||||||

相关的话题