用matlab給圖像加高斯噪聲和椒鹽噪聲(不調用imnoise函數)


圖像畫面中的噪聲,大致可以分為兩類:高斯噪聲和椒鹽噪聲。在這里,我們先看下圖像中兩種噪聲各自的特征。

椒鹽噪聲:噪聲幅值基本相同,但出現位置隨機。

高斯噪聲:圖像中每一點都存在噪聲,但幅值是隨機分布的。

用matlab給一個圖像加高斯噪聲:

image=imread('E:\image\pepper.jpg');
[width,height,z]=size(image);
if(z>1)
    image=rgb2gray(image);
end
figure(2);
subplot(1,2,1);
imshow(image);
title('原圖');
av=0;
std=0.1;
u1=rand(width,height);
u2=rand(width,height);
x=std*sqrt(-2*log(u1)).*cos(2*pi*u2)+av;
result1=double(image)/255+x;
result1=uint8(255*result1);

subplot(1,2,2);
imshow(result1);
title('加高斯噪聲后');

加入椒鹽噪聲:

image=imread('E:\image\pepper.jpg');
[width,height,z]=size(image);
if(z>1)
    image=rgb2gray(image);
end
result2=image;
figure(2);
subplot(1,2,1);
imshow(image);
title('原圖');
k1=0.1;
k2=0.3;
a1=rand(width,height)<k1;
a2=rand(width,height)<k2;
result2(a1&a2)=0;
result2(a1& ~a2)=255;
subplot(1,2,2);
imshow(result2);
title('加高斯噪聲后');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM