基于小波变换贝叶斯LMMSE估计的图像降噪方法(MATLAB 2018)

自从小波被发现以来,由于其优良的时频局部化性能,大大解决了信号与图像降噪的难题。利用小波降噪大致有三种方法,分别是基于小波模极大值原理、基于小波变换系数的相关性,和最为常用的小波阈值函数法。

基于小波模极大值降噪

该方法是根据图像中有效信号和噪声信号在小波变换的各级尺度上具有传播方式的差异性,继而找到因噪声而产生的模极大值点并予以去除,同时并保留图像有效信号所相对应的模极大值点。最后用剩下的模极大值点进行小波系数重构,得到复原图像,实现图像的降噪。其中高斯白噪声和脉冲噪声非常适合用该方法降噪,但同时模极大值法也存在一些缺陷。模极大值法处理过后的图像,会使噪声分量几乎全部消失,只保留了小波分量。经过多个模极大值点重构信号后,会使重构信号有较大误差,图像严重失真。

基于小波系数相关性降噪

研究表明,当一幅图像中同时含有有效信号和噪声信号时,随着小波分解尺度的增加,有效信号的幅值会随之增大,而噪声信号的幅值随之减小。因此经过小波多尺度分解后的图像,其有效信号分量关联性较强,而噪声信号分量关联性很弱。根据这一特性,可对各自的小波系数相关性进行取舍,舍掉噪声信号后便实现了图像的降噪。该方法实现简单,但缺点是取舍相关系数时不准确。

基于小波阈值函数降噪

数字图像由低频分量与高频分量组成。在灰度梯度较小,即灰度变化不明显的区域,属图像低频分量;反之在灰度梯度较大,即灰度变化明显的区域,如图像中目标的边缘处以及图像的噪声处便属图像高频分量。小波阈值函数降噪法的基本思想便是将图像高频部分中的噪声予以剔除,保留图像原始有效信号。数字图像在经过小波分解后,会分解出四个分量,分别是低频分量、水平方向上的高频分量、垂直方向上的高频分量和对角方向上的高频分量。对低频分量不作处理,对剩下的三个高频分量利用小波阈值函数,将噪声信号分离出来。在高频分量中,噪声系数的幅值较小,有效信号的系数幅值较大。因此便可以选取一个阈值,将两种幅值差异较大的信号分隔开来,然后将幅值较低的噪声信号予以剔除,同时将幅值较大的有效信号予以保留。最后再将四个分量进行小波重构,便可得到降噪处理后的图像。该方法是目前信号降噪的主要技术手段,因其思想简单,可操作性强,计算量相对较小,降噪效果佳而被广泛使用。

鉴于此,提出一种基于小波变换贝叶斯LMMSE估计的图像降噪方法,运行环境为MATLAB 2018。

Matlab 复制代码
clc;clear all
original = imread('05f35a6a-2c42-4f6a-9bad-a5f500ebe9eb.00.jpg');
original = original(:,:,1); %Rendo immagine bianco e nero (1 Channel)
original = cast(original, 'double');

% noisy = sqrt(speckleNoise(original.^2,Looks));
noisy = original;

lognoisy = zeros(size(noisy));

for i=1:size(original,1)
    for j=1:size(original,2)
        if noisy(i,j) <= 0
            lognoisy(i,j) = 0;
        else
            lognoisy(i,j) = log(noisy(i,j));
        end
    end
end

%wname = 'bior3.5';
wname = 'bior4.4';
level = 1;
[C,S] = wavedec2(lognoisy,level,wname);


type1 = 'heursure';
type2 = 'penalhi';
thr = wthrmngr('dw2ddenoLVL',type2,C,S,3);
sorh = 's';
[XDEN,cfsDEN,dimCFS] = wdencmp('lvd',C,S,wname,level,thr,sorh);

XDEN = exp(XDEN);

mse = sum(sum(original-XDEN).^2)/(numel(original))
PSNR = 20*log10(255^2/mse)

figure;
subplot(1,2,1);
imagesc(noisy); colormap gray; axis off;
title('Noisy Image');
subplot(1,2,2);
imagesc(XDEN); colormap gray; axis off;
title('Denoised Image');

figure;
imshow(original/255);

%完整代码:https://mbd.pub/o/bread/ZZWWlJ1r

figure;
imshow(XDEN/255);

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
面试鸭2 分钟前
离谱!买个人信息买到网安公司头上???
java·开发语言·职场和发展
小白学大数据2 分钟前
JavaScript重定向对网络爬虫的影响及处理
开发语言·javascript·数据库·爬虫
Python大数据分析@6 分钟前
python操作CSV和excel,如何来做?
开发语言·python·excel
北京搜维尔科技有限公司7 分钟前
搜维尔科技:【应用】Xsens在荷兰车辆管理局人体工程学评估中的应用
人工智能·安全
说私域11 分钟前
基于开源 AI 智能名片 S2B2C 商城小程序的视频号交易小程序优化研究
人工智能·小程序·零售
YRr YRr11 分钟前
深度学习:Transformer Decoder详解
人工智能·深度学习·transformer
知来者逆16 分钟前
研究大语言模型在心理保健智能顾问的有效性和挑战
人工智能·神经网络·机器学习·语言模型·自然语言处理
云起无垠25 分钟前
技术分享 | 大语言模型赋能软件测试:开启智能软件安全新时代
人工智能·安全·语言模型
上海_彭彭31 分钟前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element
老艾的AI世界38 分钟前
新一代AI换脸更自然,DeepLiveCam下载介绍(可直播)
图像处理·人工智能·深度学习·神经网络·目标检测·机器学习·ai换脸·视频换脸·直播换脸·图片换脸