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

Halcon学习--(1)常用算子

 ​一、图像采集与初始化

算子

功能说明

关键参数

典型应用场景

open_framegrabber

连接相机/采集卡

Name(接口类型,如'GigEVision')

生产线实时图像采集

grab_image

同步抓取单帧图像

AcqHandle(设备句柄)

高精度定位场景

grab_image_async

异步抓取图像(非阻塞)

MaxDelay(超时时间)

高速流水线连续拍摄

read_image

从磁盘读取图像文件

FileName(文件路径)

离线算法调试

get_image_size

获取图像宽高

Width, Height

自适应分辨率处理


        open_framegrabber:可以直接操作相机,有些相机厂家为了兼容,会开发对应的DLL让你放在它的运行程序下。但是正常来说我们不会用这个接口,它也有一些时效性和局限性。一般在测试算法时,在HalconIDE中使用。正常情况下,厂家会为你提供各种编程语言的Demo,它的可控性更高。

        read_image:这个算子是经常用使用的,一般是在现场收集图像保存成文件,回来给算法大量验证的。

二、图像预处理(去噪与增强)​

1、​去噪滤波

算子

原理/特点

参数调优

适用场景

gauss_filter

高斯加权平滑,保留边缘

Sigma(1.0~3.0,越大越模糊)

抑制高斯噪声(传感器热噪)

median_image

取邻域中值,消除离群点

MaskType('circle'/'square')

去除椒盐噪声(传输干扰)

emphasize

局部对比度拉伸,增强细节

MaskWidth, Factor(1.5~2.0)

微弱缺陷强化(划痕检测)

scale_image_max

灰度线性拉伸至[0,255]

低对比度图像增强

​2、分割与边缘检测

算子

功能

关键参数

精度/场景

threshold

全局阈值分割

MinGray, MaxGray(灰度范围)

目标与背景对比度高

dyn_threshold

动态阈值(适应光照不均)

Offset(10~30), LightDark

反光表面字符识别

edges_sub_pix

亚像素边缘检测(Canny/Deriche算法)

Filter('canny'), Low/High

齿轮齿距测量(误差<0.1px)


三、图像分割与形态学处理

​1、区域操作

算子

作用

参数说明

工程意义

connection

连通域分析

分离粘连目标(颗粒计数)

select_shape

按形状特征筛选区域

Features('area'/'circularity')

筛选真缺陷(面积>100px)

dilation_circle

圆形膨胀(连接裂缝)

Radius(3~15)

金属焊缝修补

closing_circle

先膨胀后腐蚀(填充孔洞)

Radius(5~12)

铸件气孔填充


 ​四、特征提取与测量

算子

功能

输出

应用案例

area_center

计算区域面积和中心坐标

Area, Row, Column

零件定位

smallest_rectangle2

获取带旋转角度的外接矩形

Phi(角度), Length1/2(半轴)

钣金件方向校准

edges_sub_pix+ fit_circle_contour_xld

亚像素圆拟合

Radius(半径)

孔径测量(精度±0.01mm)

intensity

计算区域灰度均值和标准差

Mean, Deviation

表面污渍检测


 ​五、模板匹配

算子

匹配类型

特点

场景

create_shape_model

基于形状

旋转/缩放不变性,精度高

零件多角度定位

find_ncc_model

归一化互相关(NCC)

光照变化鲁棒性强

包装盒印刷检测

create_surface_model

3D表面匹配

处理点云数据

工件三维位姿估计


 ​六、几何变换

算子

变换类型

核心功能

典型用途

hom_mat2d_identity

仿射变换矩阵初始化

创建单位矩阵

变换链起点

hom_mat2d_rotate

旋转

绕指定点旋转

机器人手眼标定

affine_trans_image

图像仿射变换

支持缩放/旋转/平移

图像畸变校正

projective_trans_image

投影变换

处理透视畸变

斜面字符矫正(如包装盒)


七、调试与优化工具

算子

用途

技巧

dev_display

实时显示图像/区域/轮廓

叠加显示多对象(如缺陷标注)

set_system

系统参数配置(如GPU加速)

'use_gpu'='true'提速5倍

dev_error_var

错误变量管理

避免内存泄漏(及时释放HRegion


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

相关文章:

  • 大模型RAG项目实战:向量数据库Faiss
  • 蓓韵安禧活性叶酸源于上市企业生产
  • 手写MyBatis第44弹:解密MyBatis四大核心组件拦截之道
  • 【influxdb】InfluxDB 2.x 线性写入详解
  • 【IDE问题篇】新电脑安装Keil5,出现找不到arm 编译器版本5编译报错;改为版本6后旧代码编译是出现编译报错
  • 自然语言处理NLP:嵌入层Embedding中input_dim的计算——Tokenizer文本分词和编码
  • android中常见布局及其约束
  • 超越关键词:RAG系统如何破解用户查询的“模糊密码”
  • Redis 中的 Bitmap 与 Bitfield 及 Java 操作实践
  • 【LeetCode】18、四数之和
  • LeetCode 每日一题 2025/8/25-2025/8/31
  • SciPy
  • DrissionPage 实战:动态 IP 代理与百度翻译 API 数据抓取
  • 硬件开发_基于物联网的工厂环境监测系统
  • Qt Demo之 deepseek 帮我写的关于双目标定的小界面
  • redis----zset详解
  • Langflow Memory 技术深度分析
  • Langflow RAG 技术深度分析
  • 人工智能学习:机器学习相关面试题(二)
  • MySQL-视图与用户管理
  • Langchain指南-关键特性:如何流式传输可运行项
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘SQLModel’问题
  • 案例——从零开始搭建 ASP.NET Core 健康检查实例
  • 齿轮加工刀具材料漫谈:从高速钢到陶瓷的 “切削艺术”
  • 传统数据库out啦!KINGBASE ES V9R1C10 开启国产数据库“修仙”新纪元!
  • Day19_【机器学习—线性回归 (2)】
  • 正则表达式 Python re 库完整教程
  • 生存分析入门教程
  • 馈电油耗讲解
  • AssemblyLoadContext`的插件化架构