一、梯度运算含义
一张图片分别做膨胀与腐蚀操作,最后用膨胀后的图片减去腐蚀的图片,得到的新图片便是该图片的梯度运算。
即:梯度运算 (img) = 膨胀 (img) - 腐蚀 (img)
通过梯度运算可以得到前景物体的轮廓。
二、morphologyEx() 函数实现梯度运算
2.1、函数调用格式
dst = cv2.morphologyEx(src,cv2.MORPH_GRADIENT,kernel)
src:需要处理的图像
cv2.MORPH_GRADIENT:指定为梯度运算
kernel:卷积核,为元组,一般使用 numpy 进行赋值
2.2、案例实现
#Author:MuMengSunny
#Filename:梯度运算
import cv2
import numpy as np
img = cv2.imread(r'F:\image\gradient.png',cv2.IMREAD_UNCHANGED) # 读取要进行开运算的图像
gradient_img = cv2.morphologyEx(img,cv2.MORPH_GRADIENT,kernel=np.ones((5,5),np.uint8))
cv2.imshow('original',img)
cv2.imshow('gradient_img',gradient_img)
cv2.waitKey(0)
cv2.destroyAllWindows()