def tophat_function(image):
gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
kernel = cv.getStructuringElement(cv.MORPH_RECT, (15, 15))
'''
op = cv.MORPH_TOPHAT(顶帽操作)
'''
dst = cv.morphologyEx(gray, cv.MORPH_TOPHAT, kernel)
cimage = np.array(gray.shape,np.uint8)
cimage = 100
dst = cv.add(dst,cimage)#增加亮度
cv.imshow("tophat",dst)
增加亮度后的
黑帽
#修改op即可
dst = cv.morphologyEx(gray, cv.MORPH_BLACKHAT, kernel)
黑帽
image.png
基本梯度
dst = cv.morphologyEx(gray, cv.MORPH_GRADIENT, kernel)
基本梯度
内外梯度
def gradient_demo(image):
kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 5))
dm = cv.dilate(image, kernel)
em = cv.erode(image, kernel)
dst1 = cv.subtract(dm, image) # 外梯度
dst2 = cv.subtract(image, em) # 内梯度
cv.imshow("external_gradient", dst1)
cv.imshow("internal_gradient", dst2)
内外梯度
网友评论