1.op = cv2.TOPHAT 礼帽:原始图片-开运算后的图片
2. op=cv2.BLACKHAT 黑帽: 闭运算后的图片-原始图片
礼帽:表示的是原始图像-开运算(先腐蚀再膨胀)以后的图像
黑帽:表示的是闭运算(先膨胀再腐蚀)后的图像 - 原始图像
代码:
第一步:读取图片
第二步:使用cv2.MOPRH_TOPHAT获得礼帽图片
第三步:使用cv2.MOPRH_BLACKHAT获得黑帽图片
import cv2 import numpy as np # 第一步读入当前图片 img = cv2.imread('dige.png') cv2.imshow('img', img) cv2.waitKey(0) cv2.destroyAllWindows()
# 第二步:使用cv2.MORPH_TOPHAT获得礼帽图片 kernel = np.ones((3, 3), np.uint8) tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel) cv2.imshow('tophat', tophat) cv2.waitKey(0) cv2.destroyAllWindows()
# 第三步:使用cv2.MORPH_BLACKHAT获得黑帽图片 kernel = np.ones((3, 3), np.uint8) blackhat = cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel) cv2.imshow('blackhat', blackhat) cv2.waitKey(0) cv2.destroyAllWindows()