Emgu学习之(五)——图像模糊处理
Visual Studio Community 2015 工程和代码:http://pan.baidu.com/s/1Qia0Q
内容
在这篇文章中将提到以下内容:
- 中值模糊
- 高斯模糊
图像模糊能有效的去除图像的噪点。
“平滑处理也称模糊处理,是一项简单且使用频率很高的图像处理方法。平滑处理的用途有很多,但最常见的是用来减少图像
上的噪点或者失真。”——《学习OpenCV(中文版)》
中值模糊
中值滤波是指以一个像素点为中心点,在这个中心点的正方形邻域内求所有像素的中间值,然后用这个中间值替换邻域内所有
点的像素值。中值滤波器可以有效的去除图像中的椒盐噪声和斑点噪声。
Emgu的Image类提供了SmoothMedian方法,这个方法只需要一个参数,即在执行中值滤波时的卷积核的大小。卷积核是
一个奇数行和列的矩阵,卷积核越大,滤波器的效果越明显。以下是使用SmoothMedian方法对一张满是椒盐噪声的图片进行处
理的代码和结果:
var image = new Image<Bgr, byte>(Properties.Resources.ai);
imageBox1.Image = image;//显示原图像
imageBox2.Image = image.SmoothMedian();//使用5*5的卷积核
代码效果如下:

高斯模糊
高斯滤波用卷积核与输入图像的每个点进行卷积,将最终计算的结果作为这个点的值。也就是说图像的每个点都是由其本身和
邻域内的点经过高斯滤波卷积核进行加权平均得到的。
高斯核其实就是一个矩阵,这个矩阵符合高斯分布,即矩阵中心的值最大,其余根据距离中心元素的距离递减,构成一个高斯
小山包:

在使用高斯模糊的方法时,我们需要指定高斯卷积核的高度和宽度(必须是奇数),还有高斯小山包的坡度参数,坡度参数分
为X方向和Y方向。如果坡度参数为0,那么方法会根据核的大小自动帮我们计算,如果只设置了X方向的值,那么Y方向采用X方向
的值。
Emgu的Image类提供了SmoothGaussian方法进行高斯模糊,SmoothGaussian有两种重载实现,一种我们只需要传入
卷积核大小参数,另外一个我们还需要传入X、Y方向的坡度参数。
var image = new Image<Bgr, byte>(Properties.Resources.ai);
imageBox1.Image = image;//显示原图像
imageBox1.Image = image.SmoothGaussian();
执行效果:

Emgu学习之(五)——图像模糊处理的更多相关文章
- 从零开始学习jQuery (五) 事件与事件对象
本系列文章导航 从零开始学习jQuery (五) 事件与事件对象 一.摘要 事件是脚本编程的灵魂. 所以本章内容也是jQuery学习的重点. 本文将对jQuery中的事件处理以及事件对象进行详细的讲解 ...
- 前端学习 第五弹: CSS (一)
前端学习 第五弹: CSS (一) 创建css: <link rel="stylesheet" type="text/css" href="my ...
- C#可扩展编程之MEF学习笔记(五):MEF高级进阶
好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...
- Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition
Android Animation学习(五) ApiDemos解析:容器布局动画 LayoutTransition Property animation系统还提供了对ViewGroup中的View改变 ...
- 六、Android学习第五天——Handler的使用(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 六.Android学习第五天——Handler的使用 注意:有很多功能是不 ...
- Emgu学习之(四)——图像阈值
http://www.cnblogs.com/CoverCat/p/5043833.html Visual Studio Community 2015 工程和代码:http://pan.baidu.c ...
- Emgu学习之(二)——图像读取、显示、保存
visual Studio Community 2015 工程和源代码:http://pan.baidu.com/s/1o6u5Fdw 内容 在这篇文章中将提到以下内容: 从文件中读取图像 Image ...
- (转)Qt Model/View 学习笔记 (五)——View 类
Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...
- java之jvm学习笔记五(实践写自己的类装载器)
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...
- 文本分类学习 (五) 机器学习SVM的前奏-特征提取(卡方检验续集)
前言: 上一篇比较详细的介绍了卡方检验和卡方分布.这篇我们就实际操刀,找到一些训练集,正所谓纸上得来终觉浅,绝知此事要躬行.然而我在躬行的时候,发现了卡方检验对于文本分类来说应该把公式再变形一般,那样 ...
随机推荐
- 记Spring与跨域
跨域 简单理解就是跨域名 (ip+端口) 在 52liming.com 中向demo.com中发起Ajax请求, 出于安全考虑会进行拦截 参考: 浏览器的同源策略 什么是JS跨域访问? 跨域资源共享 ...
- Hibernate与mybatis比较
Hibernate与mybatis比较 1.先说底层: a)Jdbc:全称java数据库连接,是java语言用来规范客户端如何访问数据库的程序接口. b) 一般步骤: i.加载驱动程序 ii.获得数据 ...
- 快速幂取模(POJ 1995)
http://poj.org/problem?id=1995 以这道题来分析一下快速幂取模 a^b%c(这就是著名的RSA公钥的加密方法),当a,b很大时,直接求解这个问题不太可能 利用公式a*b%c ...
- PAT 1029. Median
尼玛,数组偶数个数的时候取中位数是取中间两者中的前者,还tmd一直再算平均,卧槽 #include <iostream> #include <cstdio> #include ...
- Tinymce 编辑器添加自定义图片管理插件
在使用Tinymce的过程中需要用到图片上传功能,而提供的上传插件在上传文件后是给了一个连接地址,就想用户需要什么图片,不能用最直观的方式表现出来么! 虽然官网上也有一个文件管理的插件moxieman ...
- csharp:search and Compare string
/// <summary> /// 涂聚文 /// 2011 捷为工作室 /// 缔友计算机信息技术有限公司 /// </summary> /// <param name ...
- BZOJ1266 [AHOI2006]上学路线
Description 可可和卡卡家住合肥市的东郊,每天上学他们都要转车多次才能到达市区西端的学校.直到有一天他们两人参加了学校的信息学奥林匹克竞赛小组才发现每天上学的乘车路线不一定是最优的. 可可: ...
- Linux 添加yum命令
第一步,国内的yum仓库 http://mirrors.163.com/centos/7/os/x86_64/Packages/ http://mirrors.aliyun.com/centos/7/ ...
- DrawerLayout使用
1 :DrawerLayout侧边栏用于实现如图所示的效果:
- eclipse设置模板及格式
1) 首先要有code_templates.xml 及 code_formatter.xml 两个文件,下面有代码,直接拷贝出来. code_formatter.xml: <?xml v ...