Halcon三维测量(4):点云图转深度图+点云滤波(补洞)+断线拟合

  • 对于三维测量的套路,都是将图像转成二维进行测量和处理
    在这里插入图片描述

  • 我仍然以这个开关检测项目为例,开关点云有x,y,z,三个空间坐标

  • 如果对这个三维点云直接处理,有一个思路我提供给大家,将点云模型完全调平,然后针对x,y,z其中一个坐标进行测量,其实这种思路也是将三维图转为平面。

一.点云图转深度图+点云滤波

  • 本篇着重讲解如何将点云模型转为深度图的思路。
    1.将点云模型拆分成x,y,z三个数组,这里的数据可以自动清空,具体请补充一下数据存储,堆和栈的内容。在这里插入图片描述
    2.这里提出一个手法,将点云数据拆分成三个数组之后,有很多点事有小数位的,这里为了提高精度,会把数组中的坐标乘以10或100,视情况而定,如此图像的细节会更加清晰,可以理解为拉伸图像。

        x:=point_coord_x1*10
        y:=point_coord_y1*1012

3.之后观察调平的点云,以x,y为Row和Column,z为灰度值,建立深度图。此时可以将图像当成二维图像处理。
在这里插入图片描述
4.细心地朋友可能会发现,这个生成的深度图是有孔洞的。这与物料的反光或者遮挡有关,如下是缺失点云数据的点云模型。
在这里插入图片描述
如下是缺失点的深度图
在这里插入图片描述
5.刚说到,可以对深度图运用二维的处理,这里分别运用中值滤波,高斯滤波,均值滤波对图像进行处理,填充孔洞。
在这里插入图片描述

二.断线拟合

  • 这里讲的是二维的处理手法

  • 有时候直接调用提取边缘的算子呢,提取出的边缘线存在断线,或交叉线,对于边缘拟合造成了很大的麻烦,这里点出断线拟合的思路。
    在这里插入图片描述
    1.将线段打散成点
    2.对点基于行或列排序

  • 注意这里排序很重要,不排序拟合直线时会出现交叉点
    在这里插入图片描述

  • 排序后效果图
    在这里插入图片描述

3.拟合线

  edges_sub_pix (ImageReduced1, Edges1, 'canny', 1,5, 25)
        count_obj (Edges1, Number1)
          for Idle:=1 to  Number1  by 1
           select_obj (Edges1, EdgeContour, Idle)
           *把线变为点           
           get_contour_xld(EdgeContour, RowS,ColumnS)
            Row1:=[Row1,RowS]
            Column1:=[Column1,ColumnS]
        endfor
        tuple_sort_index (Row1, Indices)
        tuple_length(Row1,Length)
        NewRow:=[]
        NewColumn:=[]
        if(Length>=1)
          *方法1
          NewRow:=subset(Row1,Indices)
          NewColumn:=subset(Column1,Indices)

转载自:

https://blog.csdn.net/weixin_41405284/article/details/107556168


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864