礼帽运算是用原始图像减去其开运算图像的操作。礼帽运算能够获取图像的噪声信息,或者得到比原始图像的边缘更亮的边缘信息。
例如,图 8-22 是一个礼帽运算示例,其中:
- 左图是原始图像。
- 中间的图是开运算图像。
- 右图是原始图像减开运算图像所得到的礼帽图像。
将函数 cv2.morphologyEx()中操作类型参数 op 设置为“cv2.MORPH_TOPHAT”,可以实现礼帽运算。其语法结构如下:
result = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)
代码示例:
import cv2
import numpy as np
o1=cv2.imread("tophat.bmp",cv2.IMREAD_UNCHANGED)
k=np.ones((5,5),np.uint8)
r1=cv2.morphologyEx(o1,cv2.MORPH_TOPHAT,k)
cv2.imshow("original1",o1)
cv2.imshow("result1",r1)
cv2.waitKey()
cv2.destroyAllWindows()
运行结果:
原图: