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)

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

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

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

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

相关推荐
IT_Octopus6 分钟前
AI工程pytorch小白TorchServe部署模型服务
人工智能·pytorch·python
果冻人工智能11 分钟前
AI军备竞赛:我们是不是正在造一个无法控制的神?
人工智能
暴龙胡乱写博客16 分钟前
OpenCV---图像预处理(四)
人工智能·opencv·计算机视觉
程序员辣条24 分钟前
深度测评 RAG 应用评估框架:指标最全面的 RAGas
人工智能·程序员
curdcv_po25 分钟前
字节跳动Trae:一款革命性的免费AI编程工具完全评测
人工智能·trae
程序员辣条26 分钟前
为什么需要提示词工程?什么是提示词工程(prompt engineering)?为什么需要提示词工程?收藏我这一篇就够了!
人工智能·程序员·产品经理
孔令飞30 分钟前
Go:终于有了处理未定义字段的实用方案
人工智能·云原生·go
清流君43 分钟前
【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作
数据库·人工智能·笔记·mysql·ue5·数字孪生
Blossom.1181 小时前
人工智能在智能家居中的应用与发展
人工智能·深度学习·机器学习·智能家居·vr·虚拟现实·多模态融合
biter00881 小时前
ubuntu(28):ubuntu系统多版本conda和多版本cuda共存
linux·人工智能·ubuntu·conda