Halcon:Intensity与Auto_Threshold例程详解
1星 需积分: 17 196 浏览量
更新于2024-09-09
1
收藏 570KB PDF 举报
Halcon是一种广泛应用于机器视觉领域的高级视觉工具包,它提供了丰富的例程支持,帮助用户实现图像处理和分析。本文档主要介绍了两个Halcon内置的例程:`intensity.hdev`和`auto_threshold.hdev`,它们在图像处理中扮演了关键角色。
首先,我们来看`intensity.hdev`例程。这个例程的主要功能是计算指定区域内图像灰度值的平均值(Mean)和标准差(Deviation)。它通过以下步骤进行操作:
1. **读取图像**: 通过`read_image`函数,从名为'mreut'的图像文件中加载数据。
2. **关闭当前窗口**: 使用`dev_close_window()`确保不会干扰后续操作。
3. **获取图像尺寸**: 使用`get_image_size`获取图像的宽度和高度,以便于调整窗口大小。
4. **创建新窗口**: 打开一个新的图形窗口,并设置其背景颜色和ID。
5. **显示图像**: 将`Image`对象显示在窗口中。
6. **设置绘图模式**: `dev_set_draw('margin')`用于设置绘制区域时的边缘填充模式。
7. **创建区域**: 使用`gen_rectangle1`函数定义两个矩形区域,如Rectangle1和Rectangle2。
8. **计算灰度统计量**: 对每个区域分别调用`intensity`函数,返回灰度值的均值和标准差。
`auto_threshold.hdev`例程则专注于直方图自动阈值分割。在这个例程中,操作流程如下:
1. **关闭当前窗口**: 首先关闭之前的窗口。
2. **读取图像**: 从'egypt1'文件中读取图像数据。
3. **获取图像尺寸**: 获取Aegypt1图像的宽度和高度。
4. **创建新窗口**: 打开一个新的窗口,并设置字体、颜色和清除背景。
5. **设置绘图参数**: `set_display_font`设置窗口的字体样式,`dev_set_colored`更改窗口颜色模式。
6. **清空窗口**: 清除窗口内容,为后续操作做准备。
7. **自动阈值分割**: 使用直方图自动阈值方法,该方法基于灰度值分布找出两个峰值之间的最低点作为阈值,实现图像的二值化处理。这适用于那些没有明显全局阈值的情况,而是采用局部适应的方式分割图像。
这两个例程展示了Halcon在图像处理中的实用性,特别是在统计分析和阈值确定方面。学习并熟练掌握这些例程,可以帮助用户更高效地进行图像特征提取、目标检测和分类等任务。通过深入理解这些代码和原理,可以进一步拓展到更多复杂的视觉应用中。
2021-10-21 上传
2022-05-31 上传
2022-05-31 上传
141 浏览量
呆呆朵朵最有爱
- 粉丝: 0
- 资源: 1
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍