zoukankan      html  css  js  c++  java
  • 腐蚀膨胀开闭运算

    图像形态学即数学形态学(Mathematical morphology)是一门建立在格伦和拓扑学基础上的图像分析学科,是数学形态学图像处理的基本理论;

    常见图像形态学运算:腐蚀、膨胀、开运算、闭运算、骨架抽取、极线腐蚀、击中击不中变换、Top-hat变换、颗粒分析、流域变换、形态学梯度等;

    最基本的形态学操作是:膨胀(dilation)和腐蚀(erosion);

    腐蚀:erode

    void erode( Mat& src, //原图像
           Mat& dst, //目标图像
           const Mat& element,//卷积核
           Point anchor=Point(-1,-1),//内核中心点,可省略
           int iterations=1,//腐蚀次数,可省略
            int borderType=BORDER_CONSTANT,//边缘类型,可省略
           const Scalar& borderValue=morphologyDefaultBorderValue()//边缘值,可省略
    );
    例子:
    1     Mat image = imread("C:/figure6_16_a.png");
    2     namedWindow("原图");
    3     imshow("原图", image);
    4     Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));//构造矩形15*15卷积核
    5     Mat out2;
    6 
    7     erode(image, out2, element);
    8     namedWindow("腐蚀图");
    9     imshow("腐蚀图", out2);
    Mat getStructuringElement(int shape, Size esize, Point anchor=Point(-1,-1));

    参数:

    shape:内核形状,主要有MORPH_RECT,MORPH_CROSS和MORPH_ELLIPSE,分别为矩形、椭圆形和交叉形,对应的值分别为0,1,2



    膨胀:

    1     Mat out1;
    2     namedWindow("膨胀图");
    3     dilate(image, out1, element);
    4     imshow("膨胀图", out1);    

    开闭运算:

    OpenCV:morphologyEx()

    功能:morphologyEx函数利用基本的膨胀和腐蚀技术,来执行更加高级形态学变换,

    如开闭运算,形态学梯度,“顶帽”、“黑帽”等等。

    void morphologyEx( 

    InputArray src, //

    OutputArray dst,// 

    int op,//形态学运算的类型

    InputArraykernel, 

    Pointanchor=Point(-1,-1), 

    intiterations=1, 

    intborderType=BORDER_CONSTANT, 

    constScalar& borderValue=morphologyDefaultBorderValue() ); 

    【注】:

    int op:表示形态学运算的类型,

    MORPH_OPEN – 开运算(Opening operation)

    MORPH_CLOSE – 闭运算(Closing operation)

    MORPH_GRADIENT -形态学梯度(Morphological gradient)

    MORPH_TOPHAT - “顶帽”(“Top hat”)

    MORPH_BLACKHAT - “黑帽”(“Black hat“)

    开运算:先腐蚀后膨胀的过程;

    功能:

    消除小物体;

    在纤细处分离物体;

    平滑较大的边界并不明显改变其面积;

    1    Mat out3;
    2     namedWindow("开运算图");
    3     morphologyEx(image, out3, MORPH_OPEN, element);
    4     imshow("开运算图", out3);

    形态学闭运算:

    闭运算(Closing Openration),先膨胀后腐蚀;

    功能:

    排除小型黑洞(黑斑);

       Mat out4;
        namedWindow("闭运算图");
        morphologyEx(image, out4, MORPH_CLOSE, element);
        imshow("闭运算图", out4);
  • 相关阅读:
    64945e3dtw1dii6vfdr19j.jpg(PNG 图像,1497x929 像素)
    软题库
    信管网
    Windows DNA_百度百科
    解释一下关系数据库的第一第二第三范式?
    扩大高校毕业生就业见习补贴范围_网易新闻
    中国计算机技术职业资格网 | 首页
    2016年下半年信息系统项目管理师真题及答案_信息系统项目管理师历年真题及权威答案_信息系统项目管理师试题及模拟题_软考考试题库_希赛网
    杭州市2016-2017年度跨境电商产业紧缺人才需求目录
    计算机技术与软件专业技术资格(水平)考试_百度百科
  • 原文地址:https://www.cnblogs.com/lyqf/p/10968241.html
Copyright © 2011-2022 走看看