22、礼帽操作

本文介绍了礼帽操作的基本概念,详细解释了如何利用OpenCV的morphologyEx()函数实现该操作,并通过实例展示了如何从图像中提取噪声部分。此外,还对比了原图像与礼帽操作后图像的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、礼帽操作含义

原图像减去进行开运算后的图像,即:Tophat(img) = img - Open(img)

通过礼帽操作,可以得到原图像中的噪声

二、morphologyEx() 函数实现礼帽操作

2.1、函数调用形式

dst = cv2.morphologyEx(src,cv2.MORPH_TOPHAT,kernel)

src:需要处理的图像

cv2.MORPH_TOPHAT:指定为礼帽

kernel:卷积核,为元组,一般使用 numpy 进行赋值

2.2、案例实现

#Author:MuMengSunny
#Filename:礼帽操作
import cv2
import numpy as np

img = cv2.imread(r'F:\image\tophat.jpg',cv2.IMREAD_UNCHANGED)  # 读取要进行开运算的图像
tophat_img = cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel=np.ones((5,5),np.uint8))

cv2.imshow('original',img)
cv2.imshow('tophat_img',tophat_img)

cv2.waitKey(0)
cv2.destroyAllWindows()

2.3、效果对比在这里插入图片描述

### OpenCV 中形态学礼帽操作的用法与实现 礼帽(Top Hat)是一种基于数学形态学的操作,用于提取图像中比周围区域更亮的部分。它通过对输入图像执行开运算后将其从原图中减去来突出显示这些部分[^5]。 以下是关于如何在 OpenCV 中使用礼帽操作的具体说明: #### 1. 礼帽操作的基本原理 礼帽操作的核心在于利用开运算的结果与原始图像之间的差异。具体来说,它是通过以下公式完成的: \[ \text{Result} = \text{Original Image} - \text{(Opening of Original Image)} \] 这种操作能够有效地增强图像中的高亮度细节,特别是那些小于结构化元素尺寸的小型特征。 #### 2. 实现代码示例 下面是一个完整的 Python 示例,展示如何在 OpenCV 中实现礼帽操作: ```python import cv2 import numpy as np # 加载灰度图像 img = cv2.imread('input_image.jpg', cv2.IMREAD_GRAYSCALE) # 定义结构化元素 (Kernel) kernel = np.ones((5, 5), dtype=np.uint8) # 可调整大小以适应不同需求 # 执行礼帽操作 result = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel) # 显示结果 cv2.imshow('Original Image', img) cv2.imshow('Tophat Result', result) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在此代码片段中,`cv2.MORPH_TOPHAT` 参数指定了我们要执行的是礼帽操作。而 `kernel` 是一个 \(5 \times 5\) 的全一矩阵,作为结构化元素参与运算[^4]。 #### 3. 关键参数解释 - **img**: 输入图像,通常为灰度图像。 - **op**: 指定具体的形态学操作类型,在这里是 `cv2.MORPH_TOPHAT` 表示礼帽操作。 - **kernel**: 结构化元素,决定了礼帽操作的影响范围和形状。一般情况下可以选择矩形、椭圆形或其他自定义形式的核。 #### 4. 应用场景 礼帽操作广泛应用于预处理阶段,特别是在需要强调图像中小尺度亮点的情况下非常有用。例如,在医学影像分析中可用于检测微小钙化点;在工业视觉领域可帮助识别表面缺陷等特征。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SanXiMeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值