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

【Halcon】halcon中的常用算子的中文

一、算子分类与核心解析

1. 图像基础运算算子

这类算子主要用于图像像素级的加减乘除、格式转换、裁剪等基础操作。

表格

算子核心功能关键参数说明典型使用场景
sub_image图像灰度相减 (Img1 - Img2)Mult=1, Add=0表示直接相减(无缩放 / 偏移)背景差分、缺陷检测(减去基准图找差异)
mult_image图像灰度相乘(你备注的 “相加” 是笔误)Mult=0.015, Add=0表示 Img1×Img2×0.015图像增强、掩膜加权运算
convert_image_type转换图像数据类型'int2'表示 16 位有符号整型避免运算溢出(如相减可能出现负数)
crop_part裁剪图像区域Row=0, Column=0, Width, Height提取感兴趣区域 (ROI)
scale_image_max图像对比度最大化-增强图像视觉辨识度
rotate_image图像旋转Angle=90, 'constant'表示旋转后填充常数校正倾斜图像(如文字、条码)
tile_images拼接多幅图像2, 'horizontal'表示 2 幅水平拼接可视化多步处理结果
compose3/decompose3RGB 图像合成 / 拆分-彩色图像通道处理
invert_image图像反相(255 - 灰度值)-暗背景转亮背景,突出目标
fill_interlace修复隔行扫描图像'odd'修复奇数行解决工业相机采集的图像拼接问题
polar_trans_image笛卡尔坐标↔极坐标转换圆心 (Row,Column)、半径范围处理环形 / 圆形区域(如表盘、瓶盖)

2. 图像滤波与增强算子

这类算子用于降噪、平滑、边缘增强等预处理。

表格

算子核心功能关键参数场景
median_rect矩形中值滤波41,41滤波核大小去除椒盐噪声(如工业图像中的斑点)
smooth_image图像平滑'deriche2', 0.2平滑算法 / 系数降噪,保留边缘
gray_erosion_rect灰度腐蚀矩形核大小弱化亮区域,突出暗细节
gray_closing/gray_opening灰度闭 / 开运算结构元素填充小暗孔 / 去除小亮噪点
hysteresis_threshold滞后阈值分割10,20高低阈值边缘检测(如 Canny 算法的阈值环节)

3. 区域分割与提取算子

这类算子是视觉处理的核心,用于从图像中分割出目标区域。

表格

算子核心功能关键参数场景
auto_threshold自动多阈值分割10直方图波谷最小距离多灰度目标分割(如多色零件)
bin_threshold单阈值分割-简单黑白图像分割
char_threshold字符专用阈值分割6,95直方图波峰参数字符识别 (OCR) 的阈值提取
dyn_threshold动态阈值分割3, 'light'偏差 / 亮目标不均匀光照下的分割(如曲面物体)
regiongrowing区域生长邻域大小、灰度差、最小面积相似灰度区域合并(如纹理分割)
fast_threshold快速阈值分割灰度范围 + 最小面积实时性要求高的场景
check_difference图像差异分割'diff_outside', -255,15缺陷检测(对比基准图找差异)
select_shape_std选指定特征区域'max_area',70选最大面积提取主要目标(如最大的零件)

4. 区域形态学与操作算子

对分割后的区域进行形态学处理、合并、筛选等。

表格

算子核心功能关键参数场景
closing/fill_up_shape区域闭运算 / 填充'area',1,40填充小面积孔洞修复区域孔洞(如字符断笔)
intersection/difference区域交 / 差运算-提取重叠 / 非重叠区域
complement区域补集-提取背景区域
union2/concat_obj区域合并-合并分散的目标区域
select_region_point选择包含指定点的区域点坐标 (Row,Column)定位点击位置的目标
partition_dynamic区域动态分割特征阈值按区域特征(如灰度)拆分

5. 轮廓 (XLD) 处理算子

Halcon 中最核心的轮廓操作,用于提取、筛选、拟合、变换轮廓。

表格

算子核心功能关键参数场景
lines_gauss/lines_color提取灰度 / 彩色线条高斯核、宽度阈值提取边缘、标线、轮廓
select_contours_xld筛选轮廓'closed'/'curvature'选封闭轮廓 / 曲率符合要求的轮廓
select_shape_xld按形态筛选轮廓'contlength',15,500长度范围过滤过短 / 过长的轮廓
fit_circle_contour_xld轮廓拟合成圆拟合算法、精度检测圆形目标(如焊点、圆孔)
gen_contour_region_xld从区域生成轮廓'border_holes'包含孔洞边界提取区域的边缘轮廓
union_collinear_contours_xld连接共线轮廓最大间距、角度差修复断裂的直线(如道路标线)
gen_parallels_xld生成平行轮廓距离、角度提取平行线(如轨道、边框)
test_xld_point测试点是否在轮廓内点坐标判断目标是否在指定区域内
split_contours_xld拆分轮廓'polygon',1,5把复杂轮廓拆分成简单段

6. 矩阵与坐标变换算子

用于 2D/3D 坐标转换、位姿计算,是视觉引导、机械手定位的核心。

表格

算子核心功能关键参数场景
hom_mat2d_identity/hom_mat3d_identity生成单位矩阵-变换的初始矩阵
hom_mat2d_translate/scale/rotate2D 平移 / 缩放 / 旋转平移量、缩放因子、角度2D 图像配准、校正
hom_mat3d_rotate/translate/compose3D 旋转 / 平移 / 矩阵相乘旋转轴、角度、平移量3D 位姿计算(机械手抓取)
pose_to_hom_mat3d/hom_mat3d_to_pose位姿↔矩阵转换-视觉与机器人坐标系转换
vector_to_proj_hom_mat2d透视变换矩阵计算4 对对应点坐标图像矫正(如透视畸变校正)
affine_trans_contour_xld轮廓仿射变换变换矩阵轮廓的平移 / 旋转 / 缩放

7. 特征提取算子

提取图像 / 区域 / 轮廓的关键特征(坐标、角度、灰度等)。

表格

算子核心功能关键参数场景
local_max/local_min提取灰度极值点-检测亮点 / 暗点(如焊点、缺陷)
critical_points_sub_pix亚像素级关键点提取'facet'提取算法高精度特征点定位
orientation_region/orientation_points_xld提取区域 / 轮廓方向-目标角度校正(如文字倾斜)
min_max_gray提取区域灰度极值-目标灰度特征分析
area_center_xld计算轮廓中心坐标-目标定位(如零件中心)
gray_histo计算灰度直方图-阈值选择的依据

8. 可视化与交互算子

用于图像显示、交互操作(如鼠标取点)。

表格

算子核心功能关键参数场景
dev_set_color/dev_set_draw/dev_set_shape设置显示颜色 / 填充方式 / 形状'cyan'/'margin'/'ellipse'可视化区分不同目标
dev_set_part设置显示区域行 / 列范围聚焦显示感兴趣区域
get_mposition获取鼠标坐标窗口句柄交互选择 ROI
paint_xld/paint_gray绘制轮廓 / 灰度图像颜色 / 灰度值可视化处理结果

二、关键使用示例

示例 1:图像相减找差异(缺陷检测)

hdevelop

* 读取基准图和检测图 read_image(Image1, 'reference.png') read_image(Image2, 'test.png') * 转换为整型(避免相减溢出) convert_image_type(Image1, ImageConverted1, 'int2') convert_image_type(Image2, ImageConverted2, 'int2') * 图像相减(Image1 - Image2) sub_image(ImageConverted1, ImageConverted2, ImageSub, 1, 0) * 转换回8位灰度图,便于后续处理 convert_image_type(ImageSub, ImageSub8, 'byte') * 阈值分割提取差异区域 bin_threshold(ImageSub8, Regions) * 筛选有效缺陷区域(面积过滤) select_shape_std(Regions, DefectRegions, 'max_area', 70)

示例 2:提取圆形轮廓并拟合

hdevelop

* 读取图像并预处理 read_image(Image, 'circle.png') median_rect(Image, ImageMedian, 5, 5) * 降噪 * 提取边缘 lines_gauss(ImageMedian, Lines, 1.5, 1, 8, 'light', 'true', 'true', 'true') * 筛选圆形相关轮廓 select_contours_xld(Lines, SelectedContours, 'closed', 0, 20, 0, 0) * 拟合成圆,获取圆心和半径 fit_circle_contour_xld(SelectedContours, 'ahuber', -1, 2, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder) * 可视化结果 dev_set_color('red') gen_circle_contour_xld(ContCircle, Row, Column, Radius, 0, rad(360), 'positive', 1.0) dev_display(ContCircle)

示例 3:3D 位姿转换(机械手抓取)

hdevelop

* 生成3D单位矩阵 hom_mat3d_identity(HomMat3DIdentity) * 绕Z轴旋转(抓取角度) hom_mat3d_rotate(HomMat3DIdentity, rad(90), 'z', 0, 0, 0, HomMat3D_RZ) * 平移到目标位置 hom_mat3d_translate(HomMat3D_RZ, 100, 200, 50, HomMat3D_Trans) * 转换为机器人位姿 hom_mat3d_to_pose(HomMat3D_Trans, PoseGrasp)

总结

  1. 核心分类:这些算子可分为图像运算、滤波增强、区域分割、轮廓处理、矩阵变换、特征提取、可视化 7 大类,覆盖视觉处理全流程;
  2. 关键技巧
    • 图像运算前需用convert_image_type转换数据类型,避免溢出;
    • 分割前优先滤波降噪(如median_rect),提升分割准确性;
    • 轮廓处理后需筛选(select_contours_xld),过滤无效轮廓;
  3. 典型场景:图像相减用于缺陷检测、轮廓拟合用于尺寸测量、矩阵变换用于视觉引导,是工业视觉最常用的三类场景。
http://www.jsqmd.com/news/468756/

相关文章:

  • Vue页面加载复杂表单弹窗内存上升页面崩溃的解决方案
  • FCC认证是美国电子市场准入的核心合规门槛,中鉴检测值得信赖
  • 跨网文件安全交换系统的进化之路——更智能、更安全的未来
  • .NET Core 集成 SqlSugar 最简实战(开箱即用)
  • 铌酸锂波导和频技术的研究与应用:引领未来通信技术革新
  • 静态住宅IP安全吗?
  • 当“数字同事”遇上“物理工人”:OpenClaw与人类劳动的终极博弈
  • 习题7-2 求一批整数中出现最多的个位数字
  • Nano Banana 2 实测 – 谷歌 Gemini 3.1 Flash Image 登顶 Arena 生图榜第一
  • 【无标题】从零搭建四大名著NLP分析系统:分词、词频、词性、实体抽取、可视化全攻略
  • 混动汽车建模 [hot]P2运输车混合动力simulink模型[hot] ①(工况可自行添加)...
  • FLASH分区
  • 安卓帝国生存指南:四大组件打工仔与AMS-WMS幕后老板的恩怨情仇
  • 大模型开发从入门到精通:全流程实战+代码解析,一文掌握大模型应用开发全流程指南,值得收藏
  • 解锁论文“数据密码”:书匠策AI的神奇数据分析魔法
  • 小红书全自动AI评论种草服务机构深度评测
  • ISO/SAE 21434是道路车辆网络安全工程的国际标准,旨在为汽车电气电子(E/E)系统的概念、开发、生产、运营、维护和停用提供系统化的网络安全风险管理框架。
  • 骨传导蓝牙耳机哪个牌子好?2026最全骨传导耳机测评整理分享
  • python小考大题
  • 今天,我遇到了一个有趣的编程挑战:编写一个带编螺纹程序,用于控制油槽等设备。这个任务看起来有点复杂,但我决定一步一步来,先从基础知识开始
  • 永磁电机电磁噪声仿真实战:从傅里叶分解到转子建模黑科技
  • 2026年全国海豚吸污机维修平台TOP5正规榜单揭晓
  • 顶空气体分析技术在现代包装工业中的应用研究——以残氧仪为核心的技术解析
  • 贵州本地企业做软件定制开发,怎么选靠谱服务商?
  • 在线绘制带community的蛋白质-蛋白质相互作用(PPI)网络图
  • 2026高职财税大数据应用学数据分析的技术价值与应用前景
  • 从开发者视角看右键菜单管理工具:需求洞察与技术实现
  • 从风险失控到全程可控:高效好用、无故障、先进的金融API安全方案
  • 1688采购避坑指南:供应商违约如何有效维权?
  • 2389168-47-0,18:1 PE-PEG2000-BG,融合了磷脂、聚乙二醇和苄基鸟嘌呤三部分