matlab中如何给一组数据加入给定方差的高斯噪声

g=[4,5]';H=[1,2;1,3];a=[2,3]';A=g-H*a;请问如何给g的每个元素叠加高斯白噪声为SNR=30dB,40dB,50dB... g=[4,5]';
H=[1,2;1,3];
a=[2,3]';
A=g-H*a;
请问如何给g的每个元素叠加高斯白噪声为SNR=30dB,40dB,50dB
展开
 我来答
MeChess
推荐于2017-12-16 · TA获得超过1538个赞
知道小有建树答主
回答量:448
采纳率:100%
帮助的人:568万
展开全部
矩阵g太小,所以不明显。
一般用于大一点的矩阵实验效果会更好,例如:
h=imread('photo.jpg'); %读入彩色图片
c=rgb2gray(h); %把彩色图片转化成灰度图片,256级
figure,imshow(c),title('原始图象'); %显示原始图象
g=imnoise(c,'gaussian',0.1,0.002); %加入高斯噪声
figure,imshow(g),title('加入高斯噪声之后的图象'); %显示加入高斯噪声之后
上面倒数第二句就是在原图加上高斯噪声的效果。
追问
谢谢你!但是我还是不明白的是,imnoise是给图像加噪声,我是想给矩阵的没个元素加高斯噪声,所以用imnoise好像不行。
追答
图像也是二维矩阵,我程序中不是已经转换为灰度矩阵了嘛!注意imnoise参数的用法!
day忘不掉的痛
推荐于2016-06-08 · 知道合伙人数码行家
day忘不掉的痛
知道合伙人数码行家
采纳数:62646 获赞数:223930
本人担任公司网络部总经理多年,有充足的网络经验、互联网相关知识和资讯。

向TA提问 私信TA
展开全部
方法一:
I=imread(‘lena.bmp’);
I=double(I);
J=I+15*randn(size(I));
imshow(uint8(J));
方法二:nos=nos_mean+sqrt(nos_vari)*randn(framesize)
方法三:nos=normrnd(MU,SIGMA,m,n)
MU:noise mean;SIGMA:noise variance; image size:m*n
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式