《OpenCV轻松入门:面向Python》读书笔记
作者:李立宗
出版社:电子工业出版社
出版时间:2019-05
第8章 形态学操作
8.7 礼帽运算
8.7.1 定义
礼帽运算是用原始图像减去其开运算图像的操作。礼帽运算能够获取图像的噪声信息,或者得到比原始图像的边缘更亮的边缘信息。
例如,图8-22是一个礼帽运算示例,其中:

从图8-22中可以看到,礼帽运算使用原始图像减开运算图像得到礼帽图像,礼帽图像是原始图像中的噪声信息。
例如,在图8-23中,左图是原始图像,中间的图是开运算图像,右图是原始图像减开运算图像得到的礼帽图像,礼帽图像显示的是比原始图像的边缘更亮的边缘信息。

8.7.2 函数
通过将函数cv2.morphologyEx()中操作类型参数op设置为“cv2.MORPH_TOPHAT”,可以实现礼帽运算。其语法结构如下:
result=cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel)
8.7.3 程序示例
【例8.10】使用函数cv2.morphologyEx()实现礼帽运算。
import cv2
import numpy as np
o1=cv2.imread("tophat.bmp",cv2.IMREAD_UNCHANGED)
o2=cv2.imread("lena.bmp",cv2.IMREAD_UNCHANGED)
k=np.ones((5,5),np.uint8)
r1=cv2.morphologyEx(o1,cv2.MORPH_TOPHAT,k)
r2=cv2.morphologyEx(o2,cv2.MORPH_TOPHAT,k)
cv2.imshow("original1",o1)
cv2.imshow("original2",o2)
cv2.imshow("result1",r1)
cv2.imshow("result2",r2)
cv2.waitKey()
cv2.destroyAllWindows()
8.7.4 结果

网友评论