目标:
了解结构化元素 cv2.getStructuringElement()
原理:
结构化元素:cv2.getStructuringElement()
在前面的图像处理 for Python之形态学转换中,我们使用Numpy(kernel = np.ones((5,5),np.uint8)),构建了结构化元素,它是正方形的。
但是有时我们构建一个椭圆形/圆形的核,为了实现这种要求,提供了OpenCV函数:cv2.getStructuringElement()
你只需要告诉他你需要的核的形状和大小。
代码:
# 使用Numpy构建了结构化元素,它是正方形的
kernel = np.ones((5, 5), np.uint8)
'''
[[1 1 1 1 1]
[1 1 1 1 1]
[1 1 1 1 1]
[1 1 1 1 1]
[1 1 1 1 1]]
'''
# Rectangular Kernel 矩形的内核
kerne1 = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))
'''
[[1 1 1 1 1]
[1 1 1 1 1]
[1 1 1 1 1]
[1 1 1 1 1]
[1 1 1 1 1]]
'''
# Elliptical Kernel 椭圆的内核
kerne2 = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5, 5))
'''
[[0 0 1 0 0]
[1 1 1 1 1]
[1 1 1 1 1]
[1 1 1 1 1]
[0 0 1 0 0]]
'''
# Cross-shaped Kernel 十字形的内核
kernel3 = cv2.getStructuringElement(cv2.MORPH_CROSS,(5,5))
'''
[[0 0 1 0 0]
[0 0 1 0 0]
[1 1 1 1 1]
[0 0 1 0 0]
[0 0 1 0 0]]
'''
转载请注明转自:https://blog.csdn.net/Owen_goodman/article/details/107540864