MATLAB中怎样给图像加入不同信噪比的噪声?

发布网友 发布时间:2022-04-24 14:17

我来回答

3个回答

热心网友 时间:2023-10-13 23:22

1、添加的是20%的随即噪声

image=double(image);
I=image+20*randn(size(image));
figure; imshow(uint8(I));

title('noised image');
[a1,h1,v1,d1]=dwt2(I,'sym8');

[a2,h2,v2,d2]=dwt2(a1,'sym8');

[a3,h3,v3,d3]=dwt2(a2,'sym8');

sigma=median(abs(d1(:)))/0.6745;

thr1=thr*2^(-(3-1)/2);

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)
2、加高斯白噪声
image=double(image);
I=awgn(image,5);%加入信噪比为5分贝的高斯白噪声

figure; imshow(uint8(I)); title('noised image');
注:源代码是计算机语言,不能随便用自己语言的。

热心网友 时间:2023-10-13 23:23

AWGN:在某一信号中加入高斯白噪声
y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位

例如高斯白噪声
image=double(image);
I=awgn(image,5);%加入信噪比为5分贝的高斯白噪声

figure; imshow(uint8(I)); title('noised image');
注:源代码是计算机语言,不能随便用自己语言的。

热心网友 时间:2023-10-13 23:23

AWGN:在某一信号中加入高斯白噪声
y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com