产生加性零均值高斯噪声

目标

本篇主要介绍了以下几点:

1.了解图像噪声,何为图像中的噪声。
2.何为加性均值高斯噪声。加性为什么意思?均值又表示了什么?高斯噪声有何特点?
3.如何产生加性零均值高斯噪声。如何产生正太分布?Box-Muller变换又是什么?
4.如何编程实现?

噪声

实际的图像经常会受到一些随机的影响而退化,可以理解为原图受到干扰和污染。通常就就把这个退化成为噪声(noise)。在我们采集、传输或者处理的过程中都有可能产生噪声,因此噪声的出现是多方面的原因。

在信号处理中我们用概率特征来描述噪声,即噪声出现的概率呈现为什么样子就为什么样子的噪声。就比如本篇的主角高斯噪声,其在信号中出现、分布的概率成高斯分布(正态分布)。也许你会疑问噪声概率分布应是无规律的,现实中也确实噪声严格上是不规律的分布,但是为了简化计算,人们常将噪声理想化,这种理想型的概率分布模型来描述的噪声称为白噪声。白噪声在信号中是典型的,其特点是具有常量功率谱。而高斯噪声属于白噪声的一个特例。

加性零均值高斯噪声

  • 加性
    加性噪声的表示为以下表达式
    f(x,y)=g(x,y)+v(x,y)
    g为原图像信号,v为噪声信号,两者关系是独立的,这表示原图信号如何变化与噪声无光,噪声不依赖于图像信号,这种独立与信号的噪声便称为加性噪(additive noise)。
  • 零均值
    均值为零,即噪声为高斯分布,高斯分公式中的均值为0,即高斯分布的对称轴为0。

产生原理步骤

代码实现

  close all;
  clear all;
  clc;
  
  I=imread('C:\Users\luoqi\Desktop\图片\影院\file.jpg');
  [m,n,d]=size(I);
  I_od=I;
  if ndims(I)==3 %ndims 计算矩阵的维度
      I=rgb2gray(I);
  end
  %% 计算图像的熵
  h=zeros(256,1);
  for i=1:m
      for j=1:n
          value=I(i,j);
          h(value+1,1)=h(value+1,1)+1;
      end
  end
  h=h./sum(h);%每个像素点的概率
  figure
  bar(h);%图像的亮度直方图
  axis([0,255,0,max(h)*1.1]);     
  
  Entropy=0;
  for i=1:255
      if h(i)~=0
          Entropy=Entropy-(h(i)*log2(h(i)));
      end
  end
  disp(Entropy);
  %% 加入高斯噪声
  J=zeros(m,n,d);
  sigma=10*rand(1);
  for i=1:m
      for j=1:2:n
              t1=rand(1);
              t2=rand(1);
              z1=sigma*cos(2*pi*t1)*sqrt(-2*log(t2));
              z2=sigma*sin(2*pi*t1)*sqrt(-2*log(t2));
              for k=1:d
                  J(i,j,k)=I_od(i,j,k)+z1;
                  if j+1<=n
                      J(i,j+1,k)=I_od(i,j+1,k)+z2;
                  end
              end
      end
  end

  for i=1:m
      for j=1:n
          for k=1:d
              if J(i,j,k)>255
                  J(i,j,k)=255;
              elseif J(i,j,k)<0
                  J(i,j,k)=0;
              end
          end
      end
  end
  
  J=uint8(J);
  figure
  subplot(121),imshow(I_od)
  subplot(122),imshow(J);
  
  %% 计算信噪比
  V=J-I_od;%噪声矩阵
  E=sum(sum(sum(V.^2)));
  F=sum(sum(sum(J.^2)));
  SNR=F/E;
  SNR10dB=10*log10(SNR);
posted @ 2020-07-28 10:11  luoqi123456  阅读(2810)  评论(0编辑  收藏  举报