方法:利用randn()函式生成高斯噪聲
這裡需要用到randn()函式,該函式就專門用來生成正態分佈資料的一個函式。
比如 randn(10,10),然後這個矩陣和原影象矩陣相加即可(注意縮放灰度範圍)
程式碼示例:
t=imread("a1.jpg");
[m,n,z]=size(t);
y=0+0.1*randn(m,n);%二維高斯分佈矩陣 0是均值 0.1是標準差
%先將其double化,再除以255 便於後面計算
t1=double(t)/255;
%加上噪聲
t1=t1+y;
%將畫素範圍擴大至0--255
t1=t1*255;
%轉換為uint8型別
t1=uint8(t1);
subplot(1,2,1),imshow(t),title("原圖");
subplot(1,2,2),imshow(t1),title("加入均值為0,標準差為0.1的高斯噪聲後");
方法:利用randn()函式生成高斯噪聲
這裡需要用到randn()函式,該函式就專門用來生成正態分佈資料的一個函式。
比如 randn(10,10),然後這個矩陣和原影象矩陣相加即可(注意縮放灰度範圍)
程式碼示例:
t=imread("a1.jpg");
[m,n,z]=size(t);
y=0+0.1*randn(m,n);%二維高斯分佈矩陣 0是均值 0.1是標準差
%先將其double化,再除以255 便於後面計算
t1=double(t)/255;
%加上噪聲
t1=t1+y;
%將畫素範圍擴大至0--255
t1=t1*255;
%轉換為uint8型別
t1=uint8(t1);
subplot(1,2,1),imshow(t),title("原圖");
subplot(1,2,2),imshow(t1),title("加入均值為0,標準差為0.1的高斯噪聲後");