如何在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%的随即噪声,怎么才能改成添加高斯白噪声? 请达人帮忙 急用 谢谢!
展开
 我来答
夜来雨早来晴
推荐于2017-09-06 · TA获得超过3.1万个赞
知道大有可为答主
回答量:9110
采纳率:60%
帮助的人:815万
展开全部
一般加入白噪声,只得是加入高斯白噪声
利用randn产生高斯分布噪声加到原来的图像上就可以了

假设你原来的图像的数据存在矩阵变量a中
那么
noise=A*randn(size(a));
其中A是需要加噪声的方差值,A的取值确定噪声的幅度大小
一般比图像信号幅度小得多

b=a+noise;
就是加了噪声之后的图像
赛麦吉
2023-06-03 广告
畸变测试卡优质的厂家可以考虑深圳赛麦吉深圳市赛麦吉图像技术有限公司是“五苏产业”旗下企业,投入核心技术和优势资源打造,更具专业化、规模化,在影像检测领域拥有领先的技术、产品和服务优势,是投资影像测试卡研发、生产和销售三位一体的实体公司,具备... 点击进入详情页
本回答由赛麦吉提供
wangtaouestc
推荐于2017-10-13
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
% 加噪
image=double(image);
I=awgn(image,5);%加入信噪比为5分贝的高斯白噪声
figure; imshow(uint8(I)); title('noised image');
更多追问追答
追问
你好!我还想问下这个程序里面的sym8 能改吗?比如说换成sym4 之类的 我刚学不太懂,还有要改的话有几种改法?
追答
可以选择多种小波进行分解
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式