函数 cv2.getStructuringElement()能够构造并返回一 个用于形态学处理所使用的结构元素。该函数的语法格式为:
retval = cv2.getStructuringElement( shape, ksize[, anchor])
该函数用来返回一个用于形态学操作的指定大小和形状的结构元素。
函数中的参数含义如下。
- shape 代表形状类型
- ksize 代表结构元素的大小。
- anchor 代表结构元素中的锚点位置。默认的值是(-1, -1),是形状的中心。只有十字星型的形状与锚点位置紧密相关。在其他情况下,锚点位置仅用于形态学运算结果的调整。
【例 8.12】使用函数 cv2.getStructuringElement()生成不同结构的核。
import cv2
import numpy as np
kernel1 = cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))
kernel2 = cv2.getStructuringElement(cv2.MORPH_CROSS,(5,5))
kernel3 = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))
print("kernel1=\n",kernel1)
print("kernel2=\n",kernel2)
print("kernel3=\n",kernel3)
img = cv2.imread("/Users/zhaofeier/Desktop/源代码及图像/chapter8/kernel.bmp")
kernel1 = cv2.getStructuringElement(cv2.MORPH_RECT,(59,59))
kernel2 = cv2.getStructuringElement(cv2.MORPH_CROSS,(59,59))
kernel3 = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(59,59))
r1 = cv2.dilate(img,kernel1)
r2 = cv2.dilate(img,kernel2)
r3 = cv2.dilate(img,kernel3)
cv2.imshow("original",img)
cv2.imshow("result1",r1)
cv2.imshow("result2",r2)
cv2.imshow("result3",r3)
cv2.waitKey()
cv2.destroyAllWindows()