cv2.morphologyEx()函数的使用方法,举个例子
时间: 2024-05-05 20:16:32 浏览: 166
cv2.morphologyEx()函数是OpenCV中用于执行形态学操作的函数,包括膨胀、腐蚀、开运算、闭运算、梯度等。该函数的基本语法如下:
cv2.morphologyEx(src, op, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]])
其中,参数说明如下:
- src:输入图像,必须是单通道8位或浮点图像。
- op:形态学操作类型,可以是cv2.MORPH_OPEN、cv2.MORPH_CLOSE、cv2.MORPH_GRADIENT、cv2.MORPH_TOPHAT等。
- kernel:形态学操作的核,可以是一个矩形、椭圆、十字形等。
- dst:输出图像,与输入图像大小和类型相同,如果不指定,则默认与输入图像相同。
- anchor:核的中心点,默认为(-1,-1),即核的中心点为核的几何中心。
- iterations:执行形态学操作的次数,默认为1次。
- borderType:边界扩展类型,默认为cv2.BORDER_CONSTANT。
- borderValue:边界填充值,默认为0。
下面给出一个示例,展示如何使用cv2.morphologyEx()函数进行膨胀操作:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('test.jpg', 0)
# 定义膨胀核
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))
# 执行膨胀操作
dst = cv2.morphologyEx(img, cv2.MORPH_DILATE, kernel, iterations=1)
# 显示结果
cv2.imshow('src', img)
cv2.imshow('dst', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述示例代码中,首先读取了一张灰度图像,然后定义了一个3×3的矩形核,最后使用cv2.morphologyEx()函数执行了膨胀操作,并将结果显示出来。
阅读全文