博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[数字图像处理]常见噪声的分类与Matlab实现
阅读量:5056 次
发布时间:2019-06-12

本文共 1497 字,大约阅读时间需要 4 分钟。

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

        本文的内容主要介绍了常见噪声的分类与其特性。

将噪声建模,然后用模型去实现各式各样的噪声。

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

     这个模型非常easy,也能够直接用下面公式来表达。

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

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

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

    

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_Uniform = 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.总结

     本文,实现的几类较为主要的噪声。并给出了事实上现的方法。代码在以下。下一篇博文。会进行几个经常使用去噪滤波器的比較。

原文发于博客: 

=============更新日志===================

2016 - 5 - 21 修正英文单词的拼写错误。

转载于:https://www.cnblogs.com/zsychanpin/p/7182975.html

你可能感兴趣的文章
Windows Phone开发(24):启动器与选择器之发送短信
查看>>
JS截取字符串常用方法
查看>>
java容器---------手工实现Linkedlist 链表
查看>>
three.js 性能优化的几种方法
查看>>
《梦断代码》读书笔记(三)
查看>>
FreeMarker解析json数据
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
Codeforces 450 C. Jzzhu and Chocolate
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
ACdream 1115 Salmon And Cat (找规律&amp;&amp;打表)
查看>>
JSON、JSONP、Ajax的区别
查看>>
AngularJS学习篇(一)
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
css3动画——基本准则
查看>>
javaweb常识
查看>>
Java注解
查看>>
web自己主动保存表单
查看>>
一个小的日常实践——高速Fibonacci数算法
查看>>
机器学些技法(9)--Decision Tree
查看>>
drf权限组件
查看>>