当前位置: 首页 > 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)


相关文章:

  • 紫光闪芯发布企业级E5200PCIe 5.0 企业级固态硬盘
  • 如何在python3.8环境中安装pytorch
  • 数据库-算法学习C++(入门)
  • RG3000网关构建5G LAN智慧工厂智能制造
  • OpenCV---Canny边缘检测
  • Flink 核心机制与源码剖析系列
  • day023-网络基础与OSI七层模型
  • SQLite软件架构与实现源代码浅析
  • Linux -- gdb/cgdb的认识和使用
  • 商旅平台排名:十大商旅服务平台解析
  • Linux中的进程控制(下)
  • Adminer
  • HackMyVM-Find
  • LeetCode 1871. 跳跃游戏 VII(中等)
  • 面试题——计算机网络:HTTP和HTTPS的区别?
  • C++异步通信-future学习
  • nt!MmMapViewInSystemCache函数分析PointerPte的填充
  • 使用Vue + Element Plus实现可多行编辑的分页表格
  • APL Photonics封面成果:KAUST用五边形激光腔刷新物理随机数生成极限——800Gb/s!
  • Ovito建模并正交化方法
  • b2b网站的特点/怎么建网站卖东西
  • 如何做网站微信小程序/nba今日数据
  • 正能量网站建设/seo外包公司
  • 阿里巴巴的网站应该怎么做/搜索引擎推广seo
  • 网站信用建设应该用什么技术/网站自助建站系统
  • 网上做任务赚钱网站有哪些/seo服务外包报价