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的前奏-特征提取(卡方检验续集)
前言: 上一篇比较详细的介绍了卡方检验和卡方分布.这篇我们就实际操刀,找到一些训练集,正所谓纸上得来终觉浅,绝知此事要躬行.然而我在躬行的时候,发现了卡方检验对于文本分类来说应该把公式再变形一般,那样 ...
随机推荐
- 记一次tomcat自动退出问题
问题 环境: centos/tomcat8/jdk1.8 最近遇到部署在服务器的tomcat总是过一段时间就自动结束进程 ; 通过监控tomcat 日志文件(tail -f ./logs/catali ...
- mysql 中显示 table 的基本信息
mysql> show table status like 'j_position' \G . row *************************** Name: j_position ...
- 浅谈 Linux 下的 SSH1, SSH2
SSH:Secure Shell .是一种安全协议. 常见的应用场景是远程控制台登陆. SSH1免费,SSH2收费. 其实 SSH 并不只是在 Linux 和 Unix 下使用,他们同样在 Win ...
- is_array判断是否为数组
if(is_array($arr)){ echo "是数组"; }else{ echo "不是数组"; }
- PC端-上传头像并裁剪
界面一: <link href="../theme/js/layui.layim/src/css/layui.css" rel="stylesheet"/ ...
- HTML中的嵌入技术
到目前为止,您应该掌握了将图像\视频和音频嵌入到网页上的诀窍了.此刻,让我们进行深入学习,来看一些能让您在网页中嵌入各种内容类型的元素: <iframe>, <embed> 和 ...
- Leetcode算法比赛----Longest Absolute File Path
问题描述 Suppose we abstract our file system by a string in the following manner: The string "dir\n ...
- Chromebook 阿里云ECS 配置 jupyter Notebook
前言 新购入一台Chromebook Pixel ,为方便机器学习编程,用学生版的阿里云ECS搭建了jupyter Notebook 为减少下次踩坑,参考链接记录如下: 参考链接 阿里云使用笔记(一) ...
- BubblePopupWindow
Android 实现各个方向的气泡弹窗,可控制气泡尖角偏移量. https://github.com/smuyyh/BubblePopupWindow 截图 使用: BubblePopupWindow ...
- 【疑难杂症01】TypeError: alert is not a function
一.背景 话说今天在调试js的时候,碰到一个很奇怪的问题,现记录一下.当使用alert()函数弹出提示时,总是报错,你没看错,alert函数报错了. 二.详细说明 当时正在做一个关于告警的页面展示功能 ...