[数字图像处理]常见噪声的分类与Matlab实现
1.研究噪声特性的必要性
本文的内容主要介绍了常见噪声的分类与其特性。
将噪声建模,然后用模型去实现各式各样的噪声。
实际生活中的各种照片的老化,都能够归结为下面老化模型。
这个模型非常easy,也能够直接用下面公式来表达。
在频域内,用下面公式区表示。
依据以上式子,能够看出,老旧照片的复原。主要分为两个任务,一个是去噪;还有一个是去卷积,或者称为逆滤波,也就是将老化滤波器做反处理。
本文首先由噪声类型与其建模。随后的博文。会介绍几种基础的去噪方法和基础的逆滤波方法。
2.噪声的实现
2.1 评价用图像与其直方图
2.2 高斯噪声
一种较为泛用的噪声模型。
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实现的更多相关文章
- 数字图像处理:图像的灰度变换(Matlab实现)
(1)线性变换:通过建立灰度映射来调整源图像的灰度. k>1增强图像的对比度:k=1调节图像亮度,通过改变d值达到调节亮度目的:0 i = imread('theatre.jpg');i = i ...
- 数字图像处理学习笔记之一 DIP绪论与MATLAB基础
写在前面的话 数字图像处理系列的学习笔记是作者结合上海大学计算机学院<数字图像处理>课程的学习所做的笔记,使用参考书籍为<冈萨雷斯数字图像处理(第二版)(MATLAB版)>,同 ...
- [00]数字图像处理-matlab速成
原本听的是mooc武汉大学的数字图像处理课程,但是无奈老师读ppt的能力太强,不太适应,后面的课程对于实验方面的要求甚低,无奈之下到处找课程,终于找到了一个适合自己的教程<王伟强-数字图像处理& ...
- 数字图像处理的Matlab实现(1)—绪论
第1章 绪论 1.1 什么是数字图像处理 一幅图像可以定义为一个二维函数\(f(x,y)\),这里的\(x\)和\(y\)是空间坐标,而在任意坐标\((x,y)\)处的幅度\(f\)被称为这一坐标位置 ...
- MATLAB数字图像处理(二)图像增强
1 图像增强 1.1 直方图均衡化 对于灰度图像,可以使用直方图均衡化的方法使得原图像的灰度直方图修正为均匀的直方图. 代码如下: I2=histeq(I1); ...
- MATLAB数字图像处理(一)基础操作和傅立叶变换
数字图像处理是一门集计算机科学.光学.数学.物理学等多学科的综合科学.随着计算机科学的发展,数字图像处理技术取得了巨大的进展,呈现出强大的生命力,已经在多种领域取得了大量的应用,推动了社会的发展.其中 ...
- 基于小波变换的数字图像处理(MATLAB源代码)
基于小波变换的数字图像处理(MATLAB源代码) clear all; close all; clc;M=256;%原图像长度N=64; %水印长度[filename1,pathname]=uiget ...
- 《数字图像处理原理与实践(MATLAB版)》一书之代码Part6
本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part6,辑录该书第281至第374页之代码,供有须要读者下载研究使用.代码运行结果请參见原书配图,建议下载代码前阅读下 ...
- 《数字图像处理原理与实践(MATLAB版)》一书之代码Part2
本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part2(P43~80),代码运行结果请參见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MA ...
随机推荐
- [深度学习]实现一个博弈型的AI,从五子棋开始(2)
嗯,今天接着来搞五子棋,从五子棋开始给小伙伴们聊AI. 昨天晚上我们已经实现了一个五子棋的逻辑部分,其实讲道理,有个规则在,可以开始搞AI了,但是考虑到不够直观,我们还是顺带先把五子棋的UI也先搞出来 ...
- ASP.NET没有魔法——ASP.NET MVC 过滤器(Filter)
上一篇文章介绍了使用Authorize特性实现了ASP.NET MVC中针对Controller或者Action的授权功能,实际上这个特性是MVC功能的一部分,被称为过滤器(Filter),它是一种面 ...
- Python 函数返回值
本章详细介绍 返回值: 0x 00 返回值简介 0x 01 指定返回值与隐含返回值 0x 02 return 语句位置与多条 return 语句 0x 03 返回值类型 0x 04 函数嵌套 0x 0 ...
- TFboy养成记 tensorboard
首先介绍几个用法: with tf.name_scope(name = "inputs"): 这个是用于区分区域的.如,train,inputs等. xs = tf.placeho ...
- Java 执行CMD/DOS
最近在写一个自己的邮箱服务器里用到 监视及起/停 windows 中的服务,调查发现还是得用dos来做这些事情 说一下遭遇战的过程 首先是java里如何执行DOS命令,查到下记函数 Runtime.g ...
- JavaScript DOM 编程艺术(1)---> JavaScript语法
一. JavaScript语法目录 语法 操作 条件语句 循环语句 函数 对象 二. 具体内容 2.1 语法 javaScript代码要通过HTML/XHTML文档才能执行.可以有两种方式完成这一 ...
- Function Programming - First Class(一等公民function)
引用外界一等公民的定义:"在JavaScript世界中函数却是一等公民,它不仅拥有一切传统函数的使用方式(声明和调用),而且可以做到像简单值一样赋值.传参.返回,这样的函数也称之为第一级函数 ...
- 浅谈快速开发框架的分层(WinForm)
对于B/S都是MVC好不好 不多说了,反正大家都这么用 这里简单说下C/S 首先常用的几种: 模仿B/S的MVC 也有人称之为 MVP 还有MVVM这种真心觉得够够的了,当然也有其优势所在,这里不讨 ...
- 关于RDLC报表打印预览界面显示页码问号的问题
原来在reportview中,vs2010新增了一个属性,pageCountMode,默认的Estimate,提供估算的页数,另外一个属性Actual,提供实际的页数.
- Python开发目录
Python开发目录 Python之三目运算符 Python之文件的基本操作