Halcon顶帽运算与底帽运算的应用

Halcon顶帽运算与底帽运算的应用

文章目录

正如上文所说的,顶帽运算返回的像素部分是尺寸比结构元素小的,并且比较亮的局部小区域;底帽运算返回的像素部分是尺寸比结构元素小的,并且比较暗的局部小区域。因此,根据这些特性可以得出,顶帽运算与底帽运算适合一些前景目标比较小或者背景面积比较大的,需要根据灰度进行分割的应用场景。

1. 提取小的物件

因为顶帽运算与底帽运算都是提取比结构元素小的局部区域,因此对于一些暗背景的、目标尺寸又比较小的目标检测场景,可以通过顶帽操作,使用比较大的结构元素来提取目标。底帽运算与

顶帽运算常用于提取图中较亮的小区域,但也适用于大面积的背景的提取。

2. 校正非均匀光照

对于一些背景光照不均匀的情况,如果背景比较大,检测物体比较小,可以使用大的结构元素进行顶帽或者底帽操作,以提取物体背景,并将背景光照变得均匀。图(a)所示为原始的灰度图像,图(b)为经底帽运算得到的较暗的目标区域,图(c)将底帽运算的结果从原图中提取出来,去除了光照不均匀的背景。

图中的底帽运算处理代码如下:

bash 复制代码
*读取一幅光照不均匀的亮背景图像,这里选取的是一幅彩色图像
read_image (Image,'data/shapes')
*变换之前转为灰度图像
rgbl_to_gray (Image, GrayImage)
*将图像通过阈值处理转化为二值化图像
threshold (GrayImage, Regions, 145, 255)
*创建一个结构元素,这里创建的是一个圆形
gen_circle(StructElement,10,10,100)
*清空窗口便于显示结果
dev_clear_window ()
*进行底帽操作,提取出较暗区域
bottom_hat (Regions, StructElement, RegionBottomHat)
*将较暗区域从原图中提取出来
reduce_domain (Image, RegionBottomHat, ImageReduced)
dev_clear_window ()
dev_display (ImageReduced)

在对图像进行阈值处理时需注意,由于使用底帽运算提取的是比较暗的区域,因此这里二值化操作选取的是比较亮的背景区域。圆形结构元素的坐标不受影响,但其半径应根据暗的前景目标进行推算,使其直径至少要能够覆盖待检测的较暗目标。

通过底帽运算将较暗区域从原图中提取出来以后,可以看到不均匀的背景已被去除。

总体来说,顶帽运算适合在较暗的背景下提取比较小且比较亮的前景目标,而底帽运算则相反,

适合在较亮的背景上提取出较暗的目标。两种方法提取的目标都需要小于结构元素的尺寸。

相关推荐
禹笑笑-AI食用指南17 小时前
AI 团队协作下的工作日志系统:痛点、场景与技术解决方案
人工智能
新缸中之脑17 小时前
用Gemma 4构建自托管OCR
人工智能·ocr
ai_xiaogui17 小时前
凌晨3点的重构局:从遗漏“用户中心”看AI客户端前后端分离架构的深水区
人工智能·aistarter·panelai·ai客户端架构设计·桌面端前后端分离·本地大模型api接入·独立开发者踩坑实录
不才小强17 小时前
CUDA编程与API详解
人工智能
探物 AI17 小时前
虾破苍穹(一):RTX 3060 养一只本地“呆呆”龙虾 [特殊字符]
人工智能·ai编程
俊哥V17 小时前
每日 AI 研究简报 · 2026-04-12
人工智能·ai
拥抱AGI17 小时前
Qwen3.5开源矩阵震撼发布!从0.8B到397B,不同规模模型性能、显存、速度深度对比与选型指南来了!
人工智能·学习·程序员·开源·大模型·大模型训练·qwen3.5
哈喽天空17 小时前
win10原生安装openclaw
人工智能
geinvse_seg17 小时前
开源实战——手把手教你搭建AI量化分析平台:从Docker部署到波浪理论实战
人工智能·docker·开源·蓝耘元生代·蓝耘maas