# 形态学操作
global ERODE # 腐蚀运算:将卷积核中心置为卷积核中最小的值
ERODE = cv2.MORPH_ERODE
global DILATE # 膨胀运算:将卷积核中心置为卷积核中最大的值
DILATE = cv2.MORPH_DILATE
global OPEN # 开运算:先腐蚀再膨胀
OPEN = cv2.MORPH_OPEN
global CLOSE # 闭运算:先膨胀再腐蚀
CLOSE = cv2.MORPH_CLOSE
global GRADIENT # 梯度运算:膨胀 - 腐蚀 得到边界信息
GRADIENT = cv2.MORPH_GRADIENT
global TOPHAT # 礼帽运算:原始输入 - 开运算结果 得到非重点信息
TOPHAT = cv2.MORPH_TOPHAT
global BLACKHAT # 黑帽运算:闭运算结果 - 原始输入 消除闭运算之后的非重点信息
BLACKHAT = cv2.MORPH_BLACKHAT
morphologyCaculation = lambda img, op, kernel, iteration: cv2.morphologyEx(img, op, np.ones((kernel, kernel), np.uint8),
iterations=iteration)