zoukankan      html  css  js  c++  java
  • EmguCV Image类中的函数(二)使用MorphologyEx进行更多的变换

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

    调用方法:

    [csharp] view plain copy
     
     print?
    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

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

    效果图:(左图为原图)

  • 相关阅读:
    new function
    Confluence5.1 最新版的安装&破解&汉化
    ganglia 启动命令
    ganglia Web前端清除当机节点
    git初始化
    递归算法的时间复杂度分析
    tcp dump 截取http
    java.io.Serializable浅析
    java 复用类的三种方式区别 组合,继承,代理的区别
    Linux netstat命令详解
  • 原文地址:https://www.cnblogs.com/zuochanzi/p/6041085.html
Copyright © 2011-2022 走看看