[数字图像处理]常见噪声的分类与Matlab实现

1.研究噪声特性的必要性

本文的内容主要介绍了常见噪声的分类与其特性。将噪声建模,然后用模型去实现各式各样的噪声。

实际生活中的各种照片的老化,都可以归结为以下老化模型。

这个模型很简单,也可以直接用以下公式来表达。

在频域内,用以下公式区表示。

根据以上式子,可以看出,老旧照片的复原,主要分为两个任务,一个是去噪;另一个是去卷积,或者称为逆滤波,也就是将老化滤波器做反处理。

本文首先由噪声类型与其建模。随后的博文,会介绍几种基础的去噪方法和基础的逆滤波方法。

2.噪声的实现

2.1    评价用图像与其直方图

        

2.2  高斯噪声

高斯噪声,也称为正态噪声,其统计特性服从正态分布。一种较为泛用的噪声模型。

Matlab的实现较为简单,Matlab已经有一个randn(M,N)的函数,用其可以产生出均值为0、方差为1、尺寸为M X N像素的高斯噪声图像。

用以下程序就可以产生任意均值和方差的高斯噪声。

a = 0;
b = 0.08;
n_gaussian = a + b .* randn(M,N);

2.3 瑞利噪声

瑞利噪声相比高斯噪声而言,其形状向右歪斜,这对于拟合某些歪斜直方图噪声很有用。

瑞利噪声的实现可以借由平均噪声来实现。如下所示。

这里的表示均值为0,方差为1的均匀分布的噪声。Matlab里,使用函数rand(M,N)就可以产生一个均值为0,方差为1的均匀噪声。

a = -0.2;
b = 0.03;
n_rayleigh = a + (-b .* log(1 - rand(M,N))).^0.5;

2.4 伽马噪声

伽马噪声的分布,服从了伽马曲线的分布。伽马噪声的实现,需要使用b个服从指数分布的噪声叠加而来。指数分布的噪声,可以使用均匀分布来实现。

使用若干个(这里用b表示)均匀分布叠加,就可以得到伽马噪声。

当然,当b=1的时候,就可以得到指数噪声了。

a = 25;
b = 3;
n_Erlang = zeros(M,N); 

for j=1:b
    n_Erlang = n_Erlang + (-1/a)*log(1 - rand(M,N));
end

2.5 均匀噪声

如同前面所示,均匀噪声可以由函数rand(M,N)直接产生。

a = 0;
b = 0.3;
n_Unifrom = a + (b-a)*rand(M,N);

2.6 椒盐噪声

椒盐噪声也成为双脉冲噪声。在早期的印刷电影胶片上,由于胶片化学性质的不稳定和播放时候的损伤,会使得胶片表面的感光材料和胶片的基底欠落,在播放时候,产生一些或白或黑的损伤。事实上,这也可以归结为特殊的椒盐噪声。

椒盐噪声的实现,需要一些逻辑判断。这里我们的思路是,产生均匀噪声,然后将超过阈值的点设置为黑点,或白点。当然,如果需要拟合电影胶片的损伤的话,可以选用别的类型噪声去拟合。

a = 0.05;
b = 0.05;
x = rand(M,N);

g_sp = zeros(M,N);
g_sp = f;

g_sp(find(x<=a)) = 0;
g_sp(find(x > a & x<(a+b))) = 1;

3.总结

本文,实现的几类较为基本的噪声。并给出了其实现的方法,代码在下面。下一篇博文,会进行几个常用去噪滤波器的比较。

原文发于博客:http://blog.csdn.net/thnh169/

[数字图像处理]常见噪声的分类与Matlab实现

时间: 2024-10-29 19:12:04

[数字图像处理]常见噪声的分类与Matlab实现的相关文章

数字图像处理:图像的灰度变换(Matlab实现)

(1)线性变换:通过建立灰度映射来调整源图像的灰度. k>1增强图像的对比度:k=1调节图像亮度,通过改变d值达到调节亮度目的:0 i = imread('theatre.jpg');i = im2double(rgb2gray(i));[m,n]=size(i);%增加对比度Fa = 1.25; Fb = 0;O = Fa.*i + Fb/255;figure(1), subplot(221), imshow(O);title('Fa = 1.25, Fb = 0, contrast incr

数字图像处理学习笔记之一 DIP绪论与MATLAB基础

写在前面的话 数字图像处理系列的学习笔记是作者结合上海大学计算机学院<数字图像处理>课程的学习所做的笔记,使用参考书籍为<冈萨雷斯数字图像处理(第二版)(MATLAB版)>,同时学习过程中会参考网络学习资源.对于数字图像处理的学习不可能仅仅依靠作者所写的这一系列笔记,而是需要花时间和精力学习,本文只可作参考和交流之用.由于涉及此学科不久,在学习过程中难免存在错误,请读者不吝赐教. 数字图像处理绪论 数字图像处理(DIP)的研究目标和处理对象: DIP的研究目标是获取信息,处理对象是

【数字图像处理】顶帽变换和底帽变换

文章链接:http://blog.csdn.net/kk55guang2/article/details/78490069 顶帽变换和底帽变换 灰度级图像 f 的顶帽变换(top-hat transformation)定义为f减去其开操作: That(f)=f−(f°b) 类似地,f 的底帽变换(bottom-hat transformation)定义为f的闭操作减去f: Bhat(f)=(f?b)−f   这两个变换的主要应用之一是,用一个结构元通过开操作或闭操作从一副图像中删除物体,而不是拟

《数字图像处理原理与实践(MATLAB版)》一书之代码Part8

本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part8,辑录该书第375至第415页之代码,供有需要读者下载研究使用.至此全书代码发布已经接近尾声,希望这些源码能够对有需要的读者有所帮助.代码执行结果请参见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MATLAB版)>一书代码发布的说明 http://blog.csdn.net/baimafujinji/article/details/40987807 P385-1 function y

MATLAB数字图像处理(一)基础操作和傅立叶变换

数字图像处理是一门集计算机科学.光学.数学.物理学等多学科的综合科学.随着计算机科学的发展,数字图像处理技术取得了巨大的进展,呈现出强大的生命力,已经在多种领域取得了大量的应用,推动了社会的发展.其中,遥感领域中,对于影像数据的处理均基于数字图像处理的技术.而遥感影像数据作为地理信息科学的重要数据源,如何从中获取有用的信息,是地理信息数据处理中重要的内容. MATLAB作为数学领域应用最广泛的一种软件,集成了对于图片处理的函数和功能,成为了处理数字图像问题的佼佼者.其出众的计算能力和简便的绘图能

【数字图像处理之(二)】图像的分类

在计算机中,按照颜色和灰度的多少可以将图像分为灰度图像.二值图像.索引图像和RGB图像四种基本类型.在计算机中,通常是以数组(或矩阵)的形式储存图像的. 灰度图像: 灰度图像矩阵元素的取值范围通常为[0,255].因此其数据类型一般为8位无符号整数的[uint8],这就是人们经常提到的256灰度图像."0"表示纯黑色,"255"表示纯白色,中间的数字从小到大表示由黑到白的过渡色. 然而,在某些领域(例如医学成像),要求提供超出[uint8]的动态范围:会采用[uin

《数字图像处理原理与实践(MATLAB版)》一书之代码Part9

本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part9,辑录该书第431至第438页之代码,供有需要读者下载研究使用.至此全书代码发布已经接近尾声,希望这些源码能够对有需要的读者有所帮助.代码执行结果请参见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MATLAB版)>一书代码发布的说明 http://blog.csdn.net/baimafujinji/article/details/40987807 首先给出的是原书P438所列之程序源

《数字图像处理原理与实践(MATLAB版)》一书之代码Part5

本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part5,辑录该书第225至第280页之代码(此处应部分读者之需求调整了代码发布的顺序--详细说明请见下面的文章链接),供有需要读者下载研究使用.代码执行结果请参见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MATLAB版)>一书代码发布的说明 http://blog.csdn.net/baimafujinji/article/details/40987807 P245 I = imread(

《数字图像处理原理与实践(MATLAB版)》一书之代码Part6

本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part6,辑录该书第281至第374页之代码,供有需要读者下载研究使用.代码执行结果请参见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MATLAB版)>一书代码发布的说明 http://blog.csdn.net/baimafujinji/article/details/40987807 P338 i=double(imread('vase.tif'));[C,S]=wavedec2(i,2,