礼帽运算

2022-05-28 16:14:44 浏览数 (1)

代码语言:javascript复制
import cv2
import numpy as np
o=cv2.imread("C:/Users/xpp/Desktop/Lena.png",cv2.IMREAD_UNCHANGED)#原始图像
k=np.ones((5,5),np.uint8)#设置核kernel
r=cv2.morphologyEx(o,cv2.MORPH_TOPHAT,k)#礼帽运算
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

算法:礼帽运算,也称顶帽运算或高帽运算,是用原始图像减去其开运算图像的操作。礼帽运算获取原始图像的噪声信息,或者得到比原始图像的边缘更亮的边缘信息,比如得到前景图外面的毛刺噪声。

礼帽图像=原始图像-开运算图像=原始图像-(原始图像先腐蚀再膨胀)

  • 首先读取图像
  • 进行图像开运算操作
  • 原始图像减去开运算图像,得到相减后的图像,获得礼帽运算图像的结果

result=cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)

  • img表示输入图像
  • cv2.MORPH_TOPHAT表示礼帽运算
  • kernel表示礼帽运算时所采用的结构类型

注意:图像开运算操作放大了裂缝或者局部降低亮度的区域,礼帽运算常用来分离比邻近点亮一些的斑块。在一幅图像具有大幅的背景且微小物品比较有规律的情况下,使用礼帽运算达到背景提取,使得线条更加突出的目的。

0 人点赞