OpenCV-31 获得形态学卷积核

OpenCV提供了获取卷积核的API,不需要我们手动创建卷积核。

通过下面API---getStructuringElement(shape,ksize,[, anchor])

  • shape是指卷积核的型状,注意不是指长宽,是指卷积核中1形成的形状。
  • MORPH_RECT 卷积核中的1是矩形,常用。
  • MORPH_ELLIPSE 椭圆
  • MORPH_CROSS 十字

 下面输出不同形状的卷积核(都为6*6)

  • 矩形

OpenCV-31 获得形态学卷积核_第1张图片

  • 椭圆 

OpenCV-31 获得形态学卷积核_第2张图片

  • 十字形

OpenCV-31 获得形态学卷积核_第3张图片

再对其进行腐蚀操作,示例代码如下:

import cv2
import numpy as np

img = cv2.imread("mashibing.png")
# 查看不同形状的卷积核
# kernel1 = cv2.getStructuringElement(cv2.MORPH_RECT, (6,6))
# kernel2 = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (6,6))
kernel3 = cv2.getStructuringElement(cv2.MORPH_CROSS, (6,6))
# print(kernel1)
# print(kernel2)
print(kernel3)
# 进行腐蚀操作
new_img = cv2.erode(img, kernel3)
cv2.imshow("img", np.hstack((img, new_img)))
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果如下:

 OpenCV-31 获得形态学卷积核_第4张图片

你可能感兴趣的:(OpenCV,opencv,人工智能,计算机视觉,python)