zoukankan      html  css  js  c++  java
  • opencv3.2.0形态学滤波之膨胀

    //名称:膨胀
    //日期:12月21日
    //平台:QT5.7.1+opencv3.2.0
    /* 膨胀(dilate)的含义:
           膨胀就是求局部最大值的操作,就是将图像(或图像的一部分,A)与核 B 进行卷积
           膨胀是对白色部分(高亮部分)而言的,不是黑色部分。
           膨胀将图像中的高亮部分进行膨胀,类似于“领域扩张”,效果图拥有比原图更大的高亮区域 */
    
    /*膨胀核心API函数:
       函数原型:
                   void dilate(InputArray src,OutputArray dst,InputArray kernel,
                                    Point anchor=Point(-1,-1),int iterations=1,
                                    int borderType = BORDER_CONSTANT,
                                 const Scalar&  borderValue=morphologyDefaultBorderValue()
                                   );
    
       参数详解:
       InputArray src-----输入图像
       OutputArray dst------目标图像,需要和源图片有一样的尺寸和类型
       InputArray kernel------膨胀操作的核,为NULL时,表示使用参考点位于中心3x3的核
       Point anchor---Point类型的anchor,锚的位置,默认值(-1,,1),表示锚位于中心
       int borderType---用于推断图像外部像素的某种边界模式,有默认BORDER_CONSTANT
       最后一个参数一般不用去管它。
    */
    /*注: 
           使用dilate函数,一般只需要填前面三个参数,后面四个参数有默认值
           结合getStructuringElement函数,该函数参数有:
           第一个参数:表示内核的形状(MORPH_RECT:矩形 
                                                  MORPH_CROSS:圆形
                                                  MORPH_ ELLIPSE:椭圆形)
           第二个参数:表示内核的尺寸  (形如:Size(15,15))
           第三个参数:锚点的位置   (默认值(-1,,1))
    */
    
    /*********新建QT控制台程序 ***********/
    #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/Valley_logo.jpg");//读入原图
    
        namedWindow("膨胀操作[原图]");
        namedWindow("膨胀操作[效果图]");
    
        imshow("膨胀操作[原图]",srcImage);
        //获取自定义核
        Mat element = getStructuringElement(MORPH_RECT,Size(15,15));
        Mat dstImage;
        //进行膨胀操作
        dilate(srcImage,dstImage,element);
        //显示效果图
        imshow("膨胀操作[效果图]",dstImage);
    
        waitKey(0);
        return 0;
    }
                                                                    
              膨胀操作【原图】                               膨胀操作【效果图】
  • 相关阅读:
    写给想要做自动化测试的人(更新篇)
    testng 教程之使用参数的一些tricks配合使用reportng
    testng教程之testng.xml的配置和使用,以及参数传递
    testng 教程
    博客园计算园龄不正确,请管理员确认
    selenium 总结篇,常见方法和页面元素的操作
    测试登录界面
    在测试框架中使用Log4J 2
    泡泡一分钟:Geometric and Physical Constraints for Drone-Based Head Plane Crowd Density Estimation
    Look Further to Recognize Better: Learning Shared Topics and Category-Specific Dictionaries for Open-Ended 3D Object Recognition
  • 原文地址:https://www.cnblogs.com/ilym/p/8082663.html
Copyright © 2011-2022 走看看