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

news2024/12/25 9:48:38

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

文章目录

  • Halcon顶帽运算与底帽运算的应用
    • 1. 提取小的物件
    • 2. 校正非均匀光照

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

1. 提取小的物件

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

2. 校正非均匀光照

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

*读取一幅光照不均匀的亮背景图像,这里选取的是一幅彩色图像
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)

在对图像进行阈值处理时需注意,由于使用底帽运算提取的是比较暗的区域,因此这里二值化操作选取的是比较亮的背景区域。圆形结构元素的坐标不受影响,但其半径应根据暗的前景目标进行推算,使其直径至少要能够覆盖待检测的较暗目标。
通过底帽运算将较暗区域从原图中提取出来以后,可以看到不均匀的背景已被去除。
总体来说,顶帽运算适合在较暗的背景下提取比较小且比较亮的前景目标,而底帽运算则相反,
适合在较亮的背景上提取出较暗的目标。两种方法提取的目标都需要小于结构元素的尺寸。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1353161.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【EI会议征稿通知】第三届艺术设计与数字化技术国际学术会议( ADDT 2024)

第三届艺术设计与数字化技术国际学术会议( ADDT 2024) 2024 3rd International Conference on Art Design and Digital Technology 所谓艺术设计,就是将艺术的审美感应用到与日常生活密切相关的设计中,使其不仅具有审美功能,而且…

Arduino定时器和定时器中断

目录 一、定时器中断库函数方式说明 1、定时器中断编号和引脚说明 2、库文件安装 3、MsTimer2库文件使用 4、TimerOne库文件使用 5、注意事项 二、定时器的寄存器配置说明 1、定时器寄存器列表说明 2、Timer0寄存器说明 3、预分频系数与比较匹配器 4、定时器模式 …

天津大数据培训机构 大数据时代已到来!

大数据时代已经来临,越来越多的人开始关注大数据,并且准备转行大数据。但是,对于一个外行人或者小白来说,大数据是什么?大数据需要学什么?什么样的大数据培训机构是靠谱的?这几个简单的问题就足…

xpath定位--切换frame/窗口

在web自动化中,有时候我们界面上明明定位到了该元素,但是就是点击不到,怎么回事? --可能是没有切换到对应的frame或者没有切换到对应窗口!!! 切换frame用于在同一个窗口中切换到frame上下文&a…

SpringBoot之多环境开发配置

1 多环境开发配置 问题导入 在实际开发中,项目的开发环境、测试环境、生产环境的配置信息是否会一致?如何快速切换? 1.1 多环境启动配置 yaml文件多环境启动 不同环境使用—隔开 示例代码: spring:profiles:active: dev#生产…

Spring Bean的生命周期(钩子函数)

借鉴:https://www.cnblogs.com/liweimingbk/p/17843970.html https://blog.csdn.net/lxz352907839/article/details/128634404 一、Spring Bean生命周期 如果Spring配置文件中所定义的Bean类实现了ApplicationContextAware 接口,那么在加载Spring配置文…

C++多态性——(3)动态联编的实现——虚函数

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 成功的秘诀就在于多努力一次&#xff…

后端杂七杂八系列篇一

后端杂七杂八系列篇一 ① MySQL选择合适的数据类型① Char与Varchar② Text与Blob ② EqualsAndHashCode(callSuper true)的作用③ mybatis-plus 相关① 主键生成策略② 使用Model实现CRUD③ Wrapper的用法① Wrapper的继承关系② 项目中最常用的warpper [LambdaQueryWrapper]…

大数据Doris(四十九):Doris数据导出介绍

文章目录 Doris数据导出介绍 一、​​​​​​​使用示例

基于回溯搜索算法优化的Elman神经网络数据预测 - 附代码

基于回溯搜索算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于回溯搜索算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于回溯搜索优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要&…

【人工智能】为什么说大模型会有「幻觉」问题,又如何去解决呢

大家好,我是全栈小5,欢迎阅读文章! 此篇是【话题达人】序列文章,这一次的话题是《如何解决大模型的幻觉问题》 目录 大模型模型幻觉模型预训练庞大文本数据集语义关系 模型微调特定任务少量标签数据 如何解决普遍方法 大模型 先来…

C# 反射 入门到详解

1.什么是反射 首先看一张流程图 反射最最要的关注的地方 就在metadata 元数据 元数据:描述DLL/EXE文件中有什么内容 点击生成之后,就会在文件中生成DLL/EXE文件 点击打开文件夹 在bin/Debug 文件下就会生成该文件 exe/dll文件的区别:…

Allegro看不到PCB元件的丝印和装配层

#创作灵感# PCB板到处Gerber文件加工回来,板子上没有元件边框丝印,但是有元件编号。因为只是样板,影响不大,就没有当回事。直到发出去贴片,发送了钢网层和装配层,反馈说不知道元器件的极性。这就纳闷了&…

常用Java Lambda表达式示例

文章目录 1. **实现Runnable接口**:2. **事件监听器**(如Swing中的ActionListener):3. **集合遍历**(使用forEach方法):4. **过滤集合**(使用Stream API):5. …

网络安全 | 我国网络安全保险发展初期阶段的主要挑战及应对

党的二十大报告指出:“坚决维护国家安全,防范化解重大风险。 ”网络安全保险是承保于网络安全相关风险的新险种,在分散网络安全风险、弥补经济损失、优化网络安全生态等方面有基础性作用,是治理网络安全风险,维护国家…

Docker、Docker-compose安装

安装Docker 1.卸载旧版 首先如果系统中已经存在旧的Docker,则先卸载: yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine2.配置Docker的yum库 首先…

什么是 NAS?

一、什么是 NAS? 在数字化时代,小型企业面临着日益增长的数据存储需求。为了应对这一挑战,网络附加存储(NAS)系统成为了许多企业的首选解决方案。NAS系统是一种连接到网络的存储设备,允许授权网络用户和异…

Paddle3D 2 雷达点云CenterPoint模型训练

2 Paddle3D 雷达点云CenterPoint模型训练–包含KITTI格式数据地址 2.0 数据集 百度DAIR-V2X开源路侧数据转kitti格式。 2.0.1 DAIR-V2X-I\velodyne中pcd格式的数据转为bin格式 参考源码:雷达点云数据.pcd格式转.bin格式 def pcd2bin():import numpy as npimport…

阶段二-Day10-日期类

日期类结构: 1.java.util.Date是日期类 2.DateFormat是日期格式类、SimpleDateFormat是日期格式类的子类 Timezone代表时区 3.Calendar是日历类,GregorianCalendar是日历的子类 一. 常用类-Date 1.1 Date构造方法 Date(long date) 使用给定的毫秒时间价值构建…

阿里云服务器开放端口Oracle 1521方法教程

阿里云服务器ECS端口是在安全组设置的,Oracle数据库1521端口号开放是在安全组中添加规则来实现的,阿里云服务器网aliyunfuwuqi.com来详细说下阿里云服务器开放Oracle 1521端口方法教程: 阿里云服务器开放Oracle 1521端口 在阿里云服务器ECS…