梯度运算=膨胀操作-腐蚀操作,这里的-
操作是图像的减法,可不是简单的加减乘除运算
为了更加形象生动,先将膨胀和腐蚀操作的结果进行合并展示,然后再与梯度运算进行比较
cv2.morphologyEx(pie,cv2.MORPH_GRADIENT,kernel)
第一个参数:图像对象的名称
第二个参数:梯度运算模式
第三个参数:卷积核的大小
膨胀和腐蚀操作
import cv2
import numpy as npdef show_photo(name,picture):cv2.imshow(name,picture)cv2.waitKey(0)cv2.destroyAllWindows()#原图
pie = cv2.imread('E:\Jupyter_workspace\study\data/pie.png')
show_photo('pie',pie)#膨胀和腐蚀操作
kernel = np.ones((7,7),np.uint8)
dilate = cv2.dilate(pie,kernel,iterations = 5)
erosion = cv2.erode(pie,kernel,iterations = 5)
res = np.hstack((dilate,erosion))
show_photo('res',res)#梯度运算
gradient = cv2.morphologyEx(pie,cv2.MORPH_GRADIENT,kernel)
show_photo('gradient',gradient)
原图:
膨胀和腐蚀操作:
梯度运算: