threshold(image,image,255*(0.5),255,THRESH_BINARY); // 形态学操作 // 如果把结构元素设置为Mat(),则将用默认的3*3的矩形结构元素 Mat eroded; erode(image,eroded,Mat()); Mat dilated; dilate(image,dilated,Mat()); return 0; }
下面要介绍的两个形态学操作,在实际应用中要比上面两个更加广泛,但实际上它们是上面两种操作的一个组合式的操作。
开运算与闭运算
这两个运算都是使用函数morphologyEx来实现的,这个函数的接口如下:
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());
函数的大部分参数都与上面介绍的erode函数参数是一样的,这里面的op是我们要进行的形态学的类型:
MORPH_OPEN:对图像进行开运算。