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

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

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

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

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

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

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

    (1)线性变换:通过建立灰度映射来调整源图像的灰度. k>1增强图像的对比度:k=1调节图像亮度,通过改变d值达到调节亮度目的:0 i = imread('theatre.jpg');i = i ...

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

    写在前面的话 数字图像处理系列的学习笔记是作者结合上海大学计算机学院<数字图像处理>课程的学习所做的笔记,使用参考书籍为<冈萨雷斯数字图像处理(第二版)(MATLAB版)>,同 ...

  3. [00]数字图像处理-matlab速成

    原本听的是mooc武汉大学的数字图像处理课程,但是无奈老师读ppt的能力太强,不太适应,后面的课程对于实验方面的要求甚低,无奈之下到处找课程,终于找到了一个适合自己的教程<王伟强-数字图像处理& ...

  4. 数字图像处理的Matlab实现(1)—绪论

    第1章 绪论 1.1 什么是数字图像处理 一幅图像可以定义为一个二维函数\(f(x,y)\),这里的\(x\)和\(y\)是空间坐标,而在任意坐标\((x,y)\)处的幅度\(f\)被称为这一坐标位置 ...

  5. MATLAB数字图像处理(二)图像增强

    1         图像增强 1.1            直方图均衡化 对于灰度图像,可以使用直方图均衡化的方法使得原图像的灰度直方图修正为均匀的直方图. 代码如下: I2=histeq(I1); ...

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

    数字图像处理是一门集计算机科学.光学.数学.物理学等多学科的综合科学.随着计算机科学的发展,数字图像处理技术取得了巨大的进展,呈现出强大的生命力,已经在多种领域取得了大量的应用,推动了社会的发展.其中 ...

  7. 基于小波变换的数字图像处理(MATLAB源代码)

    基于小波变换的数字图像处理(MATLAB源代码) clear all; close all; clc;M=256;%原图像长度N=64; %水印长度[filename1,pathname]=uiget ...

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

    本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part6,辑录该书第281至第374页之代码,供有须要读者下载研究使用.代码运行结果请參见原书配图,建议下载代码前阅读下 ...

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

    本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part2(P43~80),代码运行结果请參见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MA ...

随机推荐

  1. asp.net后台发送HTTP请求

    一.文件流方式(转自:http://blog.csdn.net/u011511086/article/details/53216330) /// 发送请求 /// </summary> / ...

  2. Java反射机制使用场景

    import java.io.*; import java.util.Properties; /*问题描述:存在一个主板--已经定义好,不想修改其代码,还想在主板上面增加一些其他功能? *问题解决方法 ...

  3. [C#]使用TcpListener及TcpClient开发一个简单的Chat工具

    本文为原创文章.源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称.作者及网址,谢谢! 本文使用的开发环境是VS2017及dotNet4.0,写此随笔的目的是给自己及新开发人员作为参 ...

  4. 一个Win32API Trace Tool的设计与实现

    用VC编程也有不短的时间了,对kernel32.advapi32.user32.gdi32等动态库里的API多数都已经很熟悉了.API是操作系统提供给应用程序的一组服务,很久以前就想要做个小工具,用来 ...

  5. 正确释放Vector的内存

    http://blog.jobbole.com/37700/ 今天在看微博的时候, 有人提出了一个对于Vector内存泄露的疑问( Link). 博主采用 Vector存储一些数据,但是发现在执行 c ...

  6. jQuery中使用$.each()遍历后台响应的json字符串问题

    今天在做练习项目的时候,使用$.each()方法遍历后台传过来的json字符串时,chrome浏览器中发现如下问题  Cannot use 'in' operator to search for 'l ...

  7. MongoDB中聚合工具Aggregate等的介绍与使用

    Aggregate是MongoDB提供的众多工具中的比较重要的一个,类似于SQL语句中的GROUP BY.聚合工具可以让开发人员直接使用MongoDB原生的命令操作数据库中的数据,并且按照要求进行聚合 ...

  8. C#使用Xamarin开发可移植移动应用终章(11.获取设备信息与常用组件,开源一个可开发模版.)

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 本系列,终 ...

  9. 【java系列】java开发环境搭建

    描述 本篇文章主要讲解基于windows 10系统搭建java开发环境,主要内容包括如下: (1)安装资料准备 (2)安装过程讲解 (3)测试是否安装成功 (4)Hello Word测试 1   安装 ...

  10. 全本 | iKcamp翻译 | 《JavaScript 轻量级函数式编程》|《你不知道的JS》姊妹篇

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson - <You-Dont-Know-JS>作者 译者团队(排名不分先后):阿希.blueken.bruc ...