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 展开
H=[1,2;1,3];
a=[2,3]';
A=g-H*a;
请问如何给g的每个元素叠加高斯白噪声为SNR=30dB,40dB,50dB 展开
2个回答
展开全部
矩阵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('加入高斯噪声之后的图象'); %显示加入高斯噪声之后
上面倒数第二句就是在原图加上高斯噪声的效果。
一般用于大一点的矩阵实验效果会更好,例如:
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参数的用法!
推荐于2016-06-08 · 知道合伙人数码行家
关注
展开全部
方法一:
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询