热度 10| ||
pic1=imread('cameraman.tif')
pic1_double=double(pic1)
info=imfinfo('cameraman.tif')
row=info.Height
col=info.Width
noise1=0+20*randn(row,col)
noise2=0+20*randn(row,col)
noise3=0+20*randn(row,col)
noise4=0+20*randn(row,col)
pic1_n1=pic1_double+noise1
pic1_n2=pic1_double+noise2
pic1_n3=pic1_double+noise3
pic1_n4=pic1_double+noise4
pic1_ave=(pic1_n1+pic1_n2+pic1_n3+pic1_n4)/4
figure(1)
imshow(pic1_n1/256)
figure(2)
imshow(pic1_n2/256)
figure(3)
imshow(pic1_n3/256)
figure(4)
imshow(pic1_n4/256)
figure(5)
imshow(pic1_ave/256)
MEMO:
图像处理过程double数据类型的精度更高,尽量用double数据类型。但是imshow函数的输入对象为double类型图像时,超过1即判定为白,很容易图像白茫茫的一片。这时可以除以256后再使用imshow函数。
产生均值为0.6,方差为0.1的一个5*5的随机数矩阵(256x256)方式为:x = .6 + sqrt(0.1) * randn(256,256)
运行结果:Figure5随机噪声明显小很多~