用Halcon做三维测量的一些情况

文章原文:Halcon三维测量以及demo
1 Halcon三维测量思路
(1) Halcon三维测量是通过将世界坐标的深度信息转化为二维图像上对应的深度信息,进而通过灰度图像的相应的分割,提取算法进行处理。该算法在大量的点云融合后,空间信息比较复杂的情况无法处理。
(2) 将三维坐标的X,Y,z三个点分别生成三幅图像,通过 xyz_to_object_model_3d 生成3D模型,通过visualize_object_model_3d 可视化显示,xyz_to_object_model_3d函数以及包含空间点的所有三维信息,visualize_object_model_3d实际上只是调用了Opengl进行显示而已,xyz_to_object_model_3d输入参数为三维渲染的视角,但是进行3D渲染以后的图像如何处理?

3d点云可视化化demo
在这里插入图片描述
3d处理demo
Gocator处理

参考原文:机器视觉学习系列一:线结构光三维测量重建
项目背景:
项目用于工业零件的公差检测,主要是针对缝隙和高低差两种公差,具体应用领域如汽车、飞机的蒙皮对接检测,当然,对于别的公差改变一些代码,也是可以做到的;
技术方案:
采用线结构光进行三维重建,用三维点云数据进行相应公差计算;
选用硬件:basler相机一只,stackyale激光器一只,精密一维移动平台一台(记得好像是北京的路科锐威的),棋盘格标定版一个(好像是深圳的一家)
软件:opencv1.0 + c++ + VS2003
具体步骤:
1.硬件外形设计,采用激光器垂直照射,相机倾斜的外形布局;
2.系统标定,包括相机的内、外参数标定,激光器的结构参数标定,主要是光平面方程;
a、相机标定,经典标定方法是张正友的和TSAI,我选的是Tsai,具体标定步骤按照Tsai论文中来,获取二维和三维坐标矩阵后,直接用opencv搞定;
b、激光器标定,借助移动平台和棋盘格,采集几幅带有线结构光的棋盘格图像,对光条进行处理,包括二值化、形态学、去噪,细化(骨架化),获取线结构光光条的
二维坐标和三维坐标,三维坐标的获取类似相机标定的做法,拟合平面方程;
3,三维重建,采集一幅测量目标的线结构光图像,经过光条细化后,基于系统参数和光条二维坐标,获取光条对应的三维坐标;
4,根据三维点云坐标,进行相应公差特征计算;
创新点:
首次采用二次标定算法。系统标定好后,使用一段时间,测量精度会下降,或者首次(或连续多次)标定均达不到精度要求,
这时不知道你们会怎么办?我们的做法是二次标定,即使用该系统三维测量一个标准件,通过测量误差和实际误差的不同,进行优化,把系统参数调整到最优,
优化理论基于非线性最小二乘算法,目标函数主要基于光平面方程推导而来,实验证明二次优化很有效果。
下面是当时设计的产品,现在看来真是丑陋啊,不过测量精度还是不错的,达到0.03mm,达到了需要公司的要求了。

Halcon-依据点关系计算物体三维位姿

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Halcon是一款广泛应用于机器视觉领域的软件工具,它提供了丰富的图像处理和分析功能。在Halcon中,可以使用三维匹配技术来检测和定位三维对象。 三维匹配是一种将三维模型与场景进行匹配的方法,主要用于在三维场景中定位和识别特定的目标物体。在这个过程中,Halcon可以提取出来的一项重要信息就是匹配法向量。 匹配法向量是指匹配结果中找到的物体表面的法线方向。它可以用来描述物体的朝向或旋转角度。在三维匹配过程中,Halcon会通过匹配算法找到目标物体与场景中物体的对应关系,并计算出匹配的误差和偏差。根据这些信息,Halcon可以生成一系列的法向量,表示匹配物体的表面法线方向。 使用Halcon显示三维匹配法向量非常简单。首先,我们需要定义和训练一个三维模型,并设置匹配参数。然后,使用Halcon提供的相关函数进行匹配和定位操作。在匹配完成后,可以通过调用Halcon的函数,如get_matching_object_pose或get_object_model_params等获取匹配结果中的法向量信息。最后,将这些法向量进行可视化显示即可。 总之,Halcon可以通过三维匹配技术提取出匹配结果中物体表面的法向量信息,用于描述物体的朝向或旋转角度。这些法向量可以帮助我们更准确地定位和识别三维场景中的目标物体。 ### 回答2: Halcon软件是一款用于机器视觉的软件库,可以用于图像处理和分析。Halcon中提供了丰富的工具和函数来实现三维匹配和测量。 要显示三维匹配法向量,首先需要进行三维重建和匹配。三维重建是将多个二维图像合成一个三维模型的过程,通常基于立体视觉或光线投射等原理。匹配是将一个实际场景与已知的三维模型对比,找到相应的位置和姿态。 在Halcon中,可以使用函数create_shape_model_3d来创建一个三维形状模型。该函数会将三维目标物体的点云数据转换为一个描述模型的数据结构。接下来,可以使用find_shape_model_3d函数来在输入的三维场景中寻找匹配的姿态。 当匹配到目标物体后,可以使用函数get_shape_model_3d_pose获取匹配结果的姿态信息。该函数返回一个平移向量和旋转矩阵,用于描述目标物体在相机坐标系中的位置和姿态。 为了显示匹配结果的法向量,可以使用函数display_object_model_3d。该函数可以将物体的三维模型显示在三维视图中,并在模型的每个点上绘制法向量。通过设置相应的参数,可以调整法向量的长度和颜色,以便于直观地观察匹配结果。 总结起来,要显示三维匹配的法向量,首先需要在Halcon中创建一个三维形状模型,然后利用该模型在输入的三维场景中进行匹配,获取匹配结果的姿态信息,最后利用display_object_model_3d函数显示匹配结果的法向量。这样可以方便地观察和分析三维匹配的精度和准确度。 ### 回答3: Halcon是一款强大的机器视觉库,在进行三维匹配时,可以显示匹配结果的法向量信息。三维匹配是指在三维空间中,将一个三维模型与场景进行匹配,找出最佳的匹配位置和姿态。 在使用Halcon进行三维匹配时,首先需要准备一个三维模型,并获取其法向量信息。法向量是指垂直于某个平面的矢量,它可以描述物体表面在特定点处的方向。 Halcon提供了相应的函数和工具,可以计算和提取出模型的法向量信息。一旦获取到了模型的法向量信息,我们就可以在匹配过程中进行显示。 在匹配时,Halcon可以将场景中的三维点云与模型进行对应,通过计算匹配的误差来确定最佳的匹配位置和姿态。在进行模型匹配时,我们可以选择将匹配结果的法向量信息进行显示。 通过显示匹配结果的法向量,可以更加直观地观察匹配的精确性和准确性。我们可以通过不同的颜色或者箭头的方式来表示法向量的方向和大小。这样,我们就可以在匹配过程中直接观察到匹配的结果,以及模型在场景中的姿态信息。 总结来说,Halcon可以显示三维匹配的法向量信息,这样我们可以更加直观地观察匹配结果,并对匹配精度进行评估和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值