结构化元素cv2.getStructuringElement()

目标:

了解结构化元素 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

你可能感兴趣的:(Python,图像处理,内核,numpy)