51Halcon机器视觉

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 116|回复: 2
收起左侧

[资料] 关于halcon基于表面的3d识别定位

[复制链接]
  • TA的每日心情
    耍酷
    昨天 09:20
  • 签到天数: 57 天

    连续签到: 2 天

    [LV.5]常住居民I

    20

    主题

    85

    帖子

    661

    积分

    Rank: 3

    积分
    661
    发表于 2019-10-8 14:52:25 | 显示全部楼层 |阅读模式

    部门助理 |主题 20|帖子 85|积分 661

    51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x
    基于表面的3d识别定位,即在一个3d 场景下,用3d表面模型去识别零件,得到零件的pose,这个pose是基于3D场景坐标系的。
    模型可以用solidworks软件画,保存成.stl格式,也可以是程序生成的。

    读入文件然后生成3d表面模型:
    file:='零件模型的地址及名称'
    *‘mm’也可以是'm','dm',设置成和后续3D scene的读入一致即可

    read_object_model_3d (file, 'mm', [], [], ObjectModel3DModel, Status)
    create_surface_model (ObjectModel3DModel, 0.03, [], [], SFM)


    读入3d场景:
    *3d场景可以是.ply等类型的点云

    Name:='3d点云的位置和名字'
    read_object_model_3d(Name, 'mm', [], [], ObjectModel3D, Status)


    接下来识别:
    *可以详细设置参数
    find_surface_model (SFM, ObjectModel3D, 0.02, 0.6, 0.3, 'true', [], [], Pose, Score, SurfaceMatchingResultID)


    展示结果:
    ObjectModel3DResult := []
        for Index2 := 0 to |Score| - 1 by 1
            if (Score[Index2] < 0.11)
                continue
            endif
            CPose := Pose[Index2 * 7:Index2 * 7 + 6]
            *
            rigid_trans_object_model_3d (ObjectModel3DModel, CPose, ObjectModel3DRigidTrans)
            ObjectModel3DResult := [ObjectModel3DResult,ObjectModel3DRigidTrans]
        endfor

        Message[1] := 'Found ' + |ObjectModel3DResult| + ' object(s) in ' + TimeForMatching1$'.3' + 'ms'+' without remove noise'
        ScoreString := sum(Score$'.2f' + ' / ')
        Message[2] := 'Score(s): ' + ScoreString{0:strlen(ScoreString) - 4}
        NumResult := |ObjectModel3DResult|
        tuple_gen_const (NumResult, 'green', Colors)
        tuple_gen_const (NumResult, 3, Radii)
        Indices := [1:NumResult]
        *
        dev_clear_window ()
    visualize_object_model_3d (WindowHandle, [ObjectModel3D,ObjectModel3DResult1], [], [], ['color_' + [0,Indices],'point_size_0'], ['gray',Colors,1.0], Message, [], Instructions, PoseOut)

    还可以提前对3d场景数据进行去噪,平滑等预处理,在生成模型和进行识别时,可以根据需要设置不同参数来提高精确度或者加速识别。
    另外halcon18.05的新功能,能限定零件的位姿和对称性来加速识别。

    原文链接:https://blog.csdn.net/spy14414/article/details/83010406

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    耍酷
    2019-10-8 15:32
  • 签到天数: 33 天

    连续签到: 1 天

    [LV.5]常住居民I

    1

    主题

    17

    帖子

    75

    积分

    Rank: 7Rank: 7Rank: 7

    积分
    75
    发表于 2019-10-8 15:31:17 | 显示全部楼层

    版主 |主题 1|帖子 17|积分 75

    好巧哦,是我写的。QAQ

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    耍酷
    昨天 09:20
  • 签到天数: 57 天

    连续签到: 2 天

    [LV.5]常住居民I

    20

    主题

    85

    帖子

    661

    积分

    Rank: 3

    积分
    661
     楼主| 发表于 2019-10-8 15:43:57 | 显示全部楼层

    部门助理 |主题 20|帖子 85|积分 661

    本帖最后由 Princess 于 2019-10-8 15:45 编辑
    spy14414 发表于 2019-10-8 15:31
    好巧哦,是我写的。QAQ

    拜见大佬!!!大佬牛逼,正好我也写过这个,所以直接发出来参考了

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用反馈 | 51Halcon论坛管理团队论坛管理团队

    申请友链| 小黑屋| 手机版| Archiver|  

    粤ICP备15095995号-2 粤公网安备44030602000670号

    Powered by 51Halcon机器视觉 X3.4 Licensed© 2015-2019 Comsenz Inc.

    快速回复 返回顶部 返回列表