当前位置: 首页 > news >正文

【HALCON】 深入解析 select_gray 算子

🎯 深入解析 select_gray 算子

在工业视觉和图像分析领域,基于灰度特征对图像区域进行筛选是常见的操作。HALCON 提供的 select_gray 算子正是实现这一功能的强大工具。本文将带您深入了解该算子的功能、参数设置及应用场景。


📌 算子简介

select_gray 算子用于根据灰度特征从一组区域中筛选出满足特定条件的区域。其基本调用格式如下:

select_gray(Regions, Image, SelectedRegions, Features, Operation, Min, Max)
  • Regions:待筛选的输入区域集合。
  • Image:用于计算灰度特征的单通道图像。
  • SelectedRegions:输出,满足条件的区域集合。
  • Features:待计算的灰度特征名称,可为单个字符串或字符串数组。
  • Operation:逻辑操作符,‘and’ 表示所有特征均需满足条件,‘or’ 表示任一特征满足条件即可。
  • Min/Max:特征值的下限和上限,可为数值或字符串 ‘min’/‘max’,表示特征的最小/最大可能值。

🔍 支持的灰度特征

select_gray 支持多种灰度特征,常用的包括:(51Halcon)

  • 'mean':区域内的平均灰度值。
  • 'min' / 'max':区域内的最小/最大灰度值。
  • 'median':区域内的中位数灰度值。
  • 'deviation':区域内灰度值的标准差。
  • 'entropy':区域内灰度值的熵,反映灰度分布的复杂度。
  • 'area':区域的灰度体积(灰度值之和)。
  • 'ra' / 'rb' / 'phi':等效椭圆的长轴、短轴和方向。
  • 'fuzzy_entropy' / 'fuzzy_perimeter':模糊熵和模糊周长,适用于边界模糊的区域分析。(mvtec.com)

完整特征列表可参考 HALCON 官方文档:(51Halcon)


⚙️ 参数详解与使用技巧

✅ 多特征筛选逻辑

  • 单特征Operation 参数无效,直接根据 MinMax 进行筛选。

  • 多特征

    • 'and':所有特征均需满足对应的范围条件。
    • 'or':任一特征满足条件即可。

Min / Max 的灵活设置

  • 可设置为具体数值,如 Min = 100, Max = 200
  • 也可设置为字符串 'min''max',表示特征的最小或最大可能值。

⚠️ 注意事项

  • select_gray 仅考虑输入的 Regions,忽略图像的当前域(domain)。
  • 支持最多 100 个特征的并行处理。
  • 特征的计算顺序与输入顺序一致。(mvtec.com)

💡 应用示例

以下是一个使用 select_gray 筛选平均灰度值在 100 到 200 之间区域的示例:

read_image(Image, 'example_image')
threshold(Image, Regions, 50, 255)
select_gray(Regions, Image, SelectedRegions, 'mean', 'and', 100, 200)

在此示例中,首先读取图像并进行阈值分割,然后使用 select_gray 从分割得到的区域中筛选出平均灰度值在指定范围内的区域。


🧠 应用场景

  • 工业检测:筛选灰度值异常的区域,如焊点缺陷、涂层不均等。
  • 医学图像分析:提取特定灰度范围的组织区域。
  • 遥感图像处理:识别特定反射率的地物区域。
  • 质量控制:检测产品表面的灰度一致性。

📚 参考资料

  • HALCON 官方文档:
  • HALCON 中文参考手册:

通过合理配置 select_gray 算子的参数,您可以高效地从图像中筛选出满足特定灰度特征的区域,提升图像处理的精度和效率。如需进一步了解或有特定应用需求,欢迎留言交流!(51Halcon)


http://www.xdnf.cn/news/700201.html

相关文章:

  • 英雄类(Hero)
  • chapter2-处理文本数据
  • 使用dig查看dns递归查询过程
  • Python编程6——面向对象编程1
  • 在 WSL 中安装 JetBrains Toolbox:完整指南
  • Lua中table、模块、元表和元方法
  • VScode单双引号、分号格式
  • 基于ssm的商城系统(全套)
  • Metasploit工具使用详解(中)笔记
  • 生成式人工智能:R²AIN SUITE 助力零售业的效率革命
  • 贪心算法求解汽车加油问题
  • Typora中文直装版
  • VB.NET中Load事件问题解决方案
  • 工业手持PDA终端,有哪些作用?
  • Vue CLI创建vue项目,安装插件
  • Proguard代码混淆-springboot3
  • UART通信HAL库API
  • AI+行业全景图:医疗/教育/金融领域的应用现状
  • [C]基础16.数据在内存中的存储
  • 如何删除PC上除Windows10操作系统之外的所有内容
  • C++ 写单例的办法
  • 北京大学肖臻老师《区块链技术与应用》公开课:04-BTC-共识协议
  • Linux下基本指令的介绍
  • PINN是否需要对空间进行网格化
  • 挖o心得(4)
  • 【深度学习-pytorch篇】4. 正则化方法(Regularization Techniques)
  • 使用u盘重装银河麒麟操作系统
  • 【人工智能】微调革命:释放大模型的无限潜能
  • 【系统架构设计师】2025年上半年真题论文回忆版: 论软件测试方法及应用(包括解题思路和参考素材)
  • 社交类网站设计:经典feed流系统架构详细设计(小红书微博等)