1.相关函数
开运算
img_open = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)#(图片,算法,核)
闭运算
img_close = cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel)#(图片,算法,核)
梯度运算
img_gradient = cv2.morphologyEx(img,cv2.MORPH_GRADIENT,kernel)#(图片,算法,核)
礼帽
img_tophat = cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel)
黑帽
img_blackhat = cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel)
2.程序
开运算(先腐蚀再膨胀)闭运算(先膨胀,再腐蚀)梯度运算(膨胀-腐蚀)礼帽(原始输入-开)
黑帽 = 闭运算-原始输入
3.实验结果
python
#开运算(先腐蚀再膨胀)闭运算(先膨胀,再腐蚀)梯度运算(膨胀-腐蚀)礼帽(原始输入-开)
#黑帽 = 闭运算-原始输入
import cv2
import numpy as np
img = cv2.imread("image/dige.png") #读取图片
kernel = np.ones((5,5),np.uint8) #卷积核
img_open = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)#(图片,算法,核)
img_close = cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel)#(图片,算法,核)
img_gradient = cv2.morphologyEx(img,cv2.MORPH_GRADIENT,kernel)#(图片,算法,核)
img_tophat = cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel)
img_blackhat = cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel)
cv2.imshow("GRADIENT",img_gradient)
cv2.imshow("OPEN",img_open)
cv2.imshow("CLOSE",img_close)
cv2.imshow("TOPHAT",img_tophat)
cv2.imshow("BLACKHAT",img_blackhat)
cv2.waitKey(0)
cv2.destroyAllWindows()