MorphologyEx中所有的变换如下图所示

调用方法:

  1. Mat aaa = CvInvoke.GetStructuringElement(Emgu.CV.CvEnum.ElementShape.Rectangle, new Size(5, 5), new Point(2, 2));
  2. imageBox1.Image = a.MorphologyEx(Emgu.CV.CvEnum.MorphOp.Tophat, aaa, new Point(1, 1),1, Emgu.CV.CvEnum.BorderType.Default, new MCvScalar(255, 0, 0, 255));

其中,上面那个Mat类是用来定义内核的大小和形状,一般情况Size里的值为Point里对应的是的两倍加1

1、Open

开运算是对图像先腐蚀再膨胀,可以排除小团的物体转换公式为:

效果图:(左图为原图)

2.Close

闭运算是对图像先膨胀再腐蚀,可以排除小型黑洞,变换的公式:

效果图:(左图为原图)

3、Gradient

返回图片为膨胀图与腐蚀图之差,可以保留物体的边缘轮廓,变换公式为:

效果图:(左图为原图)

4、TopHat

返回图像为原图像与开运算结果图之差,变换公式:

效果图:(左图为原图)

5、BlackHat

返回图片为闭运算结果图与原图像之差,变换公式为:

效果图:(左图为原图)

EmguCV Image类中的函数(二)使用MorphologyEx进行更多的变换的更多相关文章

  1. cocos2dx lua 绑定之一:自动绑定自定义类中的函数

    cococs2dx 3.13.1 + vs2013 + win10 1.首先定义C++类Student 在cocos2d-x\cocos文件夹下新建一个user_define的文件夹放置两个文件. 注 ...

  2. C++解析(16):友元与类中的函数重载

    0.目录 1.友元的尴尬能力 2.类中的函数重载 3.小结 1.友元的尴尬能力 什么是友元? 友元是C++中的一种关系 友元关系发生在函数与类之间或者类与类之间 友元关系是单项的,不能传递 友元的用法 ...

  3. 类中成员函数与数据成员private/pubic/protected

    类中成员函数与数据成员private/pubic/protected

  4. C#中的函数(二) 有参有返回值的函数

    接上一篇 C#中的函数(-) 无参无返回值的函数 http://www.cnblogs.com/fzxiaoyi/p/8502613.html 这次研究下C#中的函数(二) 有参有返回值的函数 依然写 ...

  5. 【java&c++】父子类中同名函数的覆盖问题

    java和c++两门语言对于父子类中同名函数具有不同的处理方式. 先上两段代码: C++: class Basic { public: void test(string i){ cout <&l ...

  6. string类中getline函数的应用

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  7. cocos2dx lua 绑定之二:手动绑定自定义类中的函数

    cococs2dx 3.13.1 + vs2013 + win10 1.首先按照<cocos2dx lua 绑定之一:自动绑定自定义类>绑定Student类 2.在Student类中增加一 ...

  8. C++模板类中友元函数的写法

    首先,已声明好的类Triangle file://Triangle.h template<class T> class Triangle{ public: Triangle(T width ...

  9. MapReduce之Mapper类,Reducer类中的函数(转载)

    Mapper类4个函数的解析 Mapper有setup(),map(),cleanup()和run()四个方法.其中setup()一般是用来进行一些map()前的准备工作,map()则一般承担主要的处 ...

随机推荐

  1. centos系统vsftpd的一些配置

    一.检测FTP是否安装: 右击打开终端输入 rpm –q vsftpd 显示 package vsftpd is not installed 说明没有被安装 安装时输入命令:yum install v ...

  2. Oracle 导入大量数据

    环境是这样的: 需要导入大量数据到Oracle,目前Oracle已建立索引和触发器了,导入的数据是树型结构,需要关联. 采用的方法是: 删除以前数据库的索引和触发器,用OracleBulkCopy批量 ...

  3. 几个api看看

    require  nonull  inline  noinline crossinline

  4. android Zxing 扫描区域的大小设置和自定义扫描view

    自己的项目中,只需要修改: CameraManager 里面的 MAX_FRAME_WIDTH .MAX_FRAME_HEIGHT 的值 private static final int MIN_FR ...

  5. Displacement Mapping

    [Displacement Mapping] Displacement Mapping(移位贴图). Normal maps的另一个应用是displacement mapping,在这个应用中,细节的 ...

  6. python+selenium的环境配置

    以前写过关于python和selenium加myeclipse的环境配置,但是myeclipse启动时过于费时,虽然myeclipse有很好的提示功能,但是作为初学者,我还是直接用python的idl ...

  7. 修改.net反编译的dll

    用.Net reflector 打开,配合reflexil工具. 有两种修改方法. 1.重写,试过,但不好用. 2.修改IL指令 一般只需修改简单的if判断. 方法:找到需要修改的行,把brfalse ...

  8. 利用反射绑定事件处理程序(C#)

    利用反射绑定事件处理程序(C#) 传统的写法:强类型的情况下 using System;using System.Collections.Generic;using System.Text; usin ...

  9. java学习笔记整理

    java知识模块:1.基础知识,数组,字符串,正则表达式:2.类和对象,接口,继承,多态,抽象类,内部类,泛型,java常用类库.3.异常处理: 4.IO:   5.事件处理:   6.多线程:  7 ...

  10. 分组背包模板题 hdu1712

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1712 第一次接触分组背包,参考博客:https://blog.csdn.net/yu121380/ar ...