主要内容

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

这个例子显示了如何删除从RGB图像高斯噪声。把图像分割成单独的颜色通道,然后降噪每个通道使用pretrained神经网络去噪,DnCNN。

一个彩色图像读入工作区和转换数据。显示原始彩色图像。

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

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

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

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

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

吵闹的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颜色空间。

另请参阅

||||||

相关的话题