cf5641 发表于 2009-9-11 10:57

在matlab中图像加噪问题

我编写如下函数产生各种噪声模式的,我的问题是:请高手指教,如何把我生成的噪声加入图像

我编写的一个函数用于产生各种噪声模式,函数如下:
function R=imnoise2(type,M,N,a,b)
if nargin ==1
    a=0;b=1;
    M=1;N=1;
elseif nargin ==3
    a=0;b=1;
end
switch lower(type)
    case 'uniform'
      R=a+(b-a)*rand(M,N);
    case 'gaussian'
      R=a+b*rand(M,N);
    case 'salt & pepper'
      if nargin<=3
            a=0.05;b=0.05;
      end
       % check to make sure that Pa+Pb is not>1
       if (a+b)>1
         error('the sum Pa+Pb must not exceed 1')
       end
       R(1:M,1:N)=0.5;
       X=rand(M,N);
       c=find(X<=a);
       R(c)=0;
       u=a+b;
       c=find(X>a & X<=u);
       R(c)=1;
    case 'lognormal'
      if nargin<=3
            a=1;b=0.25
      end
      R=a*exp(b*randn(M,N));
    case 'rayleigh'
      R=a + (-b*log(1-rand(M,N))).^0.5;
end
页: [1]
查看完整版本: 在matlab中图像加噪问题