morphologyEx函数c++
时间: 2024-03-27 17:14:10 浏览: 50
morphologyEx函数是OpenCV中的形态学操作函数之一,它可以对图像进行膨胀、腐蚀、开运算、闭运算等形态学操作。
函数原型为:
```c++
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() );
```
参数解释如下:
- src:输入图像
- dst:输出图像
- op:形态学操作类型,可选值为MORPH_OPEN、MORPH_CLOSE、MORPH_GRADIENT、MORPH_TOPHAT、MORPH_BLACKHAT
- kernel:结构元素,用于指定形态学操作的形状和大小
- anchor:锚点,用于指定结构元素的中心位置,默认为(-1,-1),即结构元素的中心位置为其形状的几何中心
- iterations:形态学操作的迭代次数,默认为1
- borderType:边缘处理方式,默认为BORDER_CONSTANT,即使用常数填充边缘
- borderValue:边缘填充颜色,默认为morphologyDefaultBorderValue(),即使用0填充边缘
示例代码:
```c++
Mat src = imread("lena.jpg", IMREAD_GRAYSCALE);
Mat dst;
Mat kernel = getStructuringElement(MORPH_RECT, Size(3, 3));
morphologyEx(src, dst, MORPH_OPEN, kernel);
imshow("src", src);
imshow("dst", dst);
waitKey();
```
阅读全文