• opencv3.2.0形态学滤波之形态学梯度、顶帽、黑帽


    /*一、形态学梯度
       (1)含义:是膨胀图和腐蚀图之差
       (2)数学表达式:dst=morph-grad(src,element) 
                               =dilate(src,element) - erode(src,element)
        (3)AP接口函数morphologyEx(),表示符为MORPH_GRADIENT
        (4)作用:保留物体的边缘轮廓
    */
    /*******相关程序*******/
    #include <QCoreApplication>
    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    #include <iostream>
    using namespace std;
    using namespace cv;
    
    int main()
    {
        Mat srcImage = imread("/home/ttwang/12.tif");//读入原图
        namedWindow("形态学梯度操作[原图]");
        imshow("形态学梯度操作[原图]",srcImage);
    
        //获取自定义核
        Mat element = getStructuringElement(MORPH_RECT,Size(3,3));
        Mat dstImage;
    
        //进行形态学梯度操作
        morphologyEx(srcImage,dstImage,MORPH_GRADIENT,element);
        namedWindow("形态学梯度操作[效果图]");
        imshow("形态学梯度操作[效果图]",dstImage);
    
        waitKey(0);
        return 0;
    }

    形态学梯度操作[原图]

    形态学梯度操作[效果图]
    /*二、顶帽 
       含义:顶帽运算(Top Hat),是原图像与“开运算”的结果图之差
       数学表达式:dst = tophat(src,element)=src-open(src,element)
       作用:顶帽运算往往用来分离比邻近点亮一些的斑块,在一幅图像具有大幅背景,而微小物品
              比较有规律的情况下,可以使用顶帽运算进行背景提取。
       核心API函数:morphologyEx();   (其中标识符为MORPH_TORHAT)
       [相关例程以后,用到再学习]
    */
    
    /*三、黑帽
       含义:黑帽运算是闭运算的结果图与原图之差
       数学表达式:dst=blackhat(src,element)=close(src,elemet)-src
       作用:黑帽运算用来分离比近邻点暗一些的斑块,效果图有着完美的轮廓。
       核心API函数:morphologyEx();   (其中标识符为MORPH_BLACKHAT)
       [相关例程以后,用到再学习]
    
       
  • 相关阅读:
    SQL SELECT INTO 语句
    跨站脚本攻击测试[转]
    Visual Studio 2008中如何比较二个数据库的架构【Schema】和数据【Data】并同步 [转贴]
    联表UPDATE
    网站架构策划方案
    概念模型 逻辑模型 物理模型 区别
    Repeater嵌套绑定Repeater
    .net 2.0升级到了.net 3.5,开发工具从vs2005转为vs2008
    你必须知道的C#的25个基础概念(附演示) 【转】
    window2003中,在IIS中,如何解决不能播放.FLV文件
  • 原文地址:https://www.cnblogs.com/ilym/p/8087532.html
Copyright © 2020-2023  润新知