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的前奏-特征提取(卡方检验续集)
前言: 上一篇比较详细的介绍了卡方检验和卡方分布.这篇我们就实际操刀,找到一些训练集,正所谓纸上得来终觉浅,绝知此事要躬行.然而我在躬行的时候,发现了卡方检验对于文本分类来说应该把公式再变形一般,那样 ...
随机推荐
- 在Asp.Net Core中取得物理路径
在Asp.Net Core中取得物理路径: 从ASP.NET Core RC2开始,可以通过注入 IHostingEnvironment 服务对象来取得Web根目录和内容根目录的物理路径,如下所示: ...
- [javaSE] 数据结构(AVL树基本概念)
AVL树是高度平衡的二叉树,任何节点的两个子树的高度差别<=1 实现AVL树 定义一个AVL树,AVLTree,定义AVLTree的节点内部类AVLNode,节点包含以下特性: 1.key——关 ...
- SecureCRT远程连接Linux下的sqlplus中退格键不能使用之解决方法
^H不是H键的意思,是backspace 主要是当你的终端backspace有问题的时候才需要设置 在linux环境下使用sqlplus,在回删(backspace)时往往会出现 一串的乱码.出现 ...
- Redis-Map
Redis Map 存储K-V键值对.(跟Java的Map类比) 哈希表结构: typedef struct dictht { dictEntry **table; //哈希表数组 unsigned ...
- jvm 内存机制
jvm 的内存包括stack ,Heap,NonHeap,在此重点说明Heap,NonHeap. Heap叫堆内存,它用于存放类实例和数组信息.NonHeap叫非堆内存,用于存放类,方法等可反射的对象 ...
- BZOJ4589: Hard Nim(FWT 快速幂)
题意 题目链接 Sol 神仙题Orzzzz 题目可以转化为从\(\leqslant M\)的质数中选出\(N\)个\(xor\)和为\(0\)的方案数 这样就好做多了 设\(f(x) = [x \te ...
- Git简介、安装与配置
老规矩QAQ,先来简单介绍一下Git: Git是一个分布式版本控制系统,可以理解为是一个用于管理代码,控制版本,方便多人合作开发的一款工具. Git:分布式版本控制系统. SVN.CVS:集中式版本控 ...
- Hadoop & Spark & Hive & HBase
Hadoop: http://hadoop.apache.org/docs/r2.6.4/hadoop-project-dist/hadoop-common/SingleCluster.html bi ...
- 一、Asp.Net Core WebAPI——修改默认监听端口
参考文档 添加host.json文件 { "urls": "https://localhost:44389;http://localhost:44380" } ...
- [翻译] IQAudioRecorderController
IQAudioRecorderController IQAudioRecorderController is a drop-in universal library allows to record ...