如何在matlab的图像中加入高斯白噪声?
%小波变换,加噪,去噪,增强%《Denoisingandcontrastenhancementviawaveletshrinkageandnonlinearadaptiv...
% 小波变换,加噪,去噪,增强
% 《Denoising and contrast enhancement via wavelet shrinkage and nonlinear adaptive gain》
clear; clc
image=imread('555.jpg');
image=imread('555.jpg');
figure; imshow(image); title('the original image');
% 加噪
image=double(image);
I=image+20*randn(size(image));
figure; imshow(uint8(I)); title('noised image');
% 小波分解
dwtmode('per');
[a1,h1,v1,d1]=dwt2(I,'sym8'); % 从1到3分辨率递减
[a2,h2,v2,d2]=dwt2(a1,'sym8');
[a3,h3,v3,d3]=dwt2(a2,'sym8');
% 计算去噪时的阈值
sigma=median(abs(d1(:)))/0.6745; % 确定噪声标准差
thr=2*sigma; % 权值根据实际情况选取
thr1=thr*2^(-(3-1)/2); % 分层阈值, 从1到3分辨率递增,即这里的th1对应于小波系数的第3层
thr2=thr*2^(-(3-2)/2);
thr3=thr*2^(-(3-3)/2);
% 去噪
ccch=soft_t(h3,thr1); cccv=soft_t(v3,thr1); cccd=soft_t(d3,thr1);
cch=soft_t(h2,thr2); ccv=soft_t(v2,thr2); ccd=soft_t(d2,thr2);
ch=soft_t(h1,thr3); cv=soft_t(v1,thr3); cd=soft_t(d1,thr3);
% 重构去噪图像
cca=idwt2(a3,ccch,cccv,cccd,'sym8');
ca=idwt2(cca,cch,ccv,ccd,'sym8');
J1=idwt2(ca,ch,cv,cd,'sym8');
J1=uint8(J1);
figure; imshow(J1); title('denoised image');
p=psnr(image,J1)
这个程序添加的是20%的随即噪声,怎么才能改成添加高斯白噪声? 请达人帮忙 急用 谢谢! 展开
% 《Denoising and contrast enhancement via wavelet shrinkage and nonlinear adaptive gain》
clear; clc
image=imread('555.jpg');
image=imread('555.jpg');
figure; imshow(image); title('the original image');
% 加噪
image=double(image);
I=image+20*randn(size(image));
figure; imshow(uint8(I)); title('noised image');
% 小波分解
dwtmode('per');
[a1,h1,v1,d1]=dwt2(I,'sym8'); % 从1到3分辨率递减
[a2,h2,v2,d2]=dwt2(a1,'sym8');
[a3,h3,v3,d3]=dwt2(a2,'sym8');
% 计算去噪时的阈值
sigma=median(abs(d1(:)))/0.6745; % 确定噪声标准差
thr=2*sigma; % 权值根据实际情况选取
thr1=thr*2^(-(3-1)/2); % 分层阈值, 从1到3分辨率递增,即这里的th1对应于小波系数的第3层
thr2=thr*2^(-(3-2)/2);
thr3=thr*2^(-(3-3)/2);
% 去噪
ccch=soft_t(h3,thr1); cccv=soft_t(v3,thr1); cccd=soft_t(d3,thr1);
cch=soft_t(h2,thr2); ccv=soft_t(v2,thr2); ccd=soft_t(d2,thr2);
ch=soft_t(h1,thr3); cv=soft_t(v1,thr3); cd=soft_t(d1,thr3);
% 重构去噪图像
cca=idwt2(a3,ccch,cccv,cccd,'sym8');
ca=idwt2(cca,cch,ccv,ccd,'sym8');
J1=idwt2(ca,ch,cv,cd,'sym8');
J1=uint8(J1);
figure; imshow(J1); title('denoised image');
p=psnr(image,J1)
这个程序添加的是20%的随即噪声,怎么才能改成添加高斯白噪声? 请达人帮忙 急用 谢谢! 展开
绿知洲
2024-11-13 广告
2024-11-13 广告
噪声分析软件eian是一款功能强大的工具,广泛应用于环境噪声评估与预测。它支持多种噪声计算模型,包括声压级、声强级和声功率级之间的转换,以及噪声评价量的计算。eian界面友好,支持灵活的参数输入格式,便于用户进行噪声模拟和预测。该软件还具备...
点击进入详情页
本回答由绿知洲提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询