OpenCV2.x自学笔记——形态学运算

名称

标识符

作用

原理

腐蚀

MORPH_ERODE

 

 

膨胀

MORPH_DILATE

 

 

开运算

MORPH_OPEN

消除细白点

先腐蚀后膨胀

闭运算

MORPH_CLOSE

消除小黑洞

先膨胀后腐蚀

形态学梯度

MORPH_GRADIENT

保留边缘轮廓

膨胀图-腐蚀图

顶帽

MORPH_TOPHAT

突出亮轮廓

原图-开运算图

黑帽

MORPH_BLACKHAT

突出暗轮廓

闭运算图-原图

 

函数:morphologyEx( InputArray src, OutputArray dst,

int op,表示形态学运算的类型,如上表所示

InputArray kernel,内核(结构元素),默认3*3.通常用getStructuringElement定义内核。

Pointanchor=Point(-1,-1),锚点位置,默认位于中心

int iterations=1,迭代次数

int borderType=BORDER_CONSTANT,

constScalar&borderValue=morphologyDefaultBorderValue());

 

getStructuringElement(内核形状,内核尺寸,锚点位置);

矩形——MORPH_RECT

十字形——MORPH_CROSS

椭圆形——MORPH_ELLIPSE

 

【例】

    //定义核

    Mat element=getStructuringElement(MORPH_RECT,Size(15,15));

    //进行形态学操作

    morphologyEx(单通道图,blackhat,MORPH_BLACKHAT,element);

    namedWindow("blackhat");

    imshow("blackhat",blackhat);

posted @ 2015-11-20 22:43  夕西行  阅读(364)  评论(0编辑  收藏  举报