形态学
# 梯度 = 原图 - 腐蚀 (可以计算边缘)
morphologyEx(img,MORPH_GRADIENT,kernel)
# 顶帽运算 = 原图 - 开运算
dingmao = cv.morphologyEx(gray,cv.MORPH_TOPHAT,kernel)
# 黑帽运算 = 原图 - 闭运算
heimao = cv.morphologyEx(gray,cv.MORPH_BLACKHAT,kernel)
import cv2 as cv
import numpy as np
img = cv.imread('./img/houmo.png')
gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
# 构造卷积核
kernel = cv.getStructuringElement(cv.MORPH_RECT,(3,3))
print(kernel)
# 梯度运算 = 原图 - 腐蚀,能够画出图像轮廓
tidu = cv.morphologyEx(gray,cv.MORPH_GRADIENT,kernel)
# 顶帽运算 = 原图 - 开运算,保留图外部的小噪点
dingmao = cv.morphologyEx(gray,cv.MORPH_TOPHAT,kernel)
# 黑帽运算 = 原图 - 闭运算,保留图内部的小噪点
heimao = cv.morphologyEx(gray,cv.MORPH_BLACKHAT,kernel)
cv.imshow('gray',gray)
cv.imshow('tidu',tidu)
cv.imshow('dingmao',dingmao)
cv.imshow('heimao',heimao)
# cv.imshow('dst2',dst2)
cv.waitKey(0)