morphologyEx
时间: 2023-11-08 11:50:37 浏览: 221
OpenCV实现用morphologyEx进行形态学梯度运算(C++实现).zip
morphologyEx是OpenCV中的一种形态学变换函数,它可以用于图像的形态学滤波。在形态学滤波中,滤波器被称为结构元素,它通常由一个特殊的形状构成,如线条、矩形、圆等。morphologyEx函数的基本使用方式如下:
cv2.morphologyEx(img, op, kernel)
其中,img是输入图像,op是操作类型,kernel是结构元素。
操作类型op可以取以下几个值:
- cv2.MORPH_OPEN(开运算): 先腐蚀后膨胀的过程。开运算可以用来消除小黑点,在纤细点处分离物体、平滑较大物体的边界,同时并不明显改变其面积。
- cv2.MORPH_CLOSE(闭运算): 先膨胀后腐蚀的过程。闭运算可以用来排除小黑洞。
- cv2.MORPH_GRADIENT(形态学梯度): 可以突出团块的边缘,保留物体的边缘轮廓。
- cv2.MORPH_TOPHAT(顶帽): 将突出比原轮廓亮的部分。
- cv2.MORPH_BLACKHAT(黑帽): 将突出比原轮廓暗的部分。
下面是一个开运算(open)的示例代码:
img = cv2.imread('dige.png')
kernel = np.ones((5,5),np.uint8)
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
cv2.imshow('opening', opening)
cv2.waitKey(0)
cv2.destroyAllWindows()
阅读全文