膨胀
求局部最大值操作,简单来说就是使图像变白
腐蚀
求局部最小值操作,简单来说就是使图像变黑
基于以上两种,会有开运算,闭运算,形态学梯度,顶帽,黑帽
开运算
先腐蚀再膨胀
闭运算
先膨胀再腐蚀
形态学梯度
膨胀图和腐蚀图之差
顶帽
原图-开运算
黑帽
闭运算-原图
void morphologyEx( InputArray src, OutputArray dst,
int op, InputArray kernel,
Point anchor=Point(-1,-1),
int iterations=1, int
borderType=BORDER_CONSTANT,
const Scalar& borderValue=morphologyDefaultBorderValue() );
op是选择变换的类型
MORPH_OPEN 开运算
MORPH_CLOSE 闭运算
MORPH_GRADIENT 形态学梯度
MORPH_TOPHAT 顶帽
MORPH_BLACKHAT 黑帽
MORPH_ERODE 腐蚀
MORPH_DELATE 膨胀
kernel内核,通过
Mat getStructuringElement(int shape, Size ksize, Point anchor=Point(-1,-1));
获得
其中shape有
MORPH_RECT 矩形
MORPH_CROSS 交叉型
MORPH_ELLIPSE 椭圆形