0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何将灰度图转为3D点云

新机器视觉 来源:古月居 作者:古月居 2022-06-13 11:11 次阅读

1. 如何将灰度图转为3D点云

这里所说的灰度图转为3D点云,其实是将灰度图像每个像素的行列坐标作为3D点云的X,Y坐标,像素的灰度值(0—255)作为三维点的Z坐标。

简单说就是将一张灰度图像拆成了三个数组:X,Y,Z,然后将这三个数组转为点云。

524a66d4-ea59-11ec-ba43-dac502259ad0.png

halcon代码:


dev_get_window (WindowHandle)read_image (Image, '1.bmp')rgb1_to_gray (Image, GrayImage)
*获取图像尺寸get_image_size (GrayImage, Width, Height)gen_rectangle1 (Rectangle, 0, 0, Height-1,Width-1)*从区域生成所有的像素坐标get_region_points(Rectangle, X, Y)*读取图像的全部像素get_grayval(GrayImage, X, Y, Z)*创建3D对象模型gen_object_model_3d_from_points(X, Y, Z, ObjectModel3D)*显示3D模型visualize_object_model_3d (WindowHandle,ObjectModel3D , [], [], [], [], [], [], [], PoseOut)

2. 创建一张深度图

实际上深度图是使用X,Y,Z三个数组的数据创建来的;

X,Y是作为图像的行列坐标,Z是实数(表示的是深度/高度),而不是灰度,因为灰度值是0——255之间的整数;

Z的值是能够返回高度信息传感器获取到的,比如点激光、线激光,结构光等。

下面是自己赋值得到的一张深度图。

5285209e-ea59-11ec-ba43-dac502259ad0.png


dev_get_window (WindowHandle)read_image (Image, '2.bmp')rgb1_to_gray (Image, GrayImage)*获取图像尺寸get_image_size (GrayImage, Width, Height)gen_rectangle1 (Rectangle, 0, 0, Height-1,Width-1)*从区域生成所有的像素坐标get_region_points(Rectangle, X, Y)*读取图像的全部像素get_grayval(GrayImage, X, Y, Z)
*改变Z的值Z:=Z-256
*对在Rectangle2区域中的像素进行赋值gen_rectangle1 (Rectangle2, 101, 101, 140,140)get_region_points(Rectangle2, X2, Y2)Z[X2*400+Y2]:=2.4
*创建一张类型为'real'的图像gen_image_const (ImageConst, 'real', Width, Height)*使用X,Y,Z给图像赋值Aset_grayval (ImageConst, X, Y, Z)

3. 深度图转点云、点云转深度图

接下来我们加载一张真正的深度图,它是由线激光采集数据得到的,保存格式为tiff文件;

这是截取了其中一段图像,扫描的是电路板上一些元器件和焊点的高度。

52b0add6-ea59-11ec-ba43-dac502259ad0.png


read_image (Image, '3DImage1.tiff')get_image_size (Image, Width, Height)
*1. 这一步是将灰度图转为了X,Y,Z三个数组,当然也就可以转为三位点云了*获取图像尺寸get_image_size (Image, Width, Height)gen_rectangle1 (Rectangle, 0, 0, Height-1,Width-1)*从区域生成所有的像素坐标get_region_points(Rectangle, X, Y)*读取图像的全部像素get_grayval(Image, X, Y, Z)
*2. 再将X,Y,Z这三个数组转回深度图,实际应用中,线机光返回的数据就是Z数组,X,Y数组由自己创建*创建一个空图像,注意type选择'real'gen_image_const (ImageConst, 'real', Width, Height)*然后使用数组填充图像,这样就完成了set_grayval (ImageConst, X, Y, Z)
*3. 接下来就可以对深度图做进一步处理了。。。

4. 代码和图片下载地址

https://download.csdn.net/download/weixin_38566632/19765495


	
		审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 3D
    3D
    +关注

    关注

    9

    文章

    2878

    浏览量

    107538
  • 数组
    +关注

    关注

    1

    文章

    417

    浏览量

    25947
  • 点云
    +关注

    关注

    0

    文章

    58

    浏览量

    3792

原文标题:Halcon 3D点云和深度图的相互转化

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    3D扫描技术医疗领域创新实践,积木易搭3D扫描仪Mole助力定制个性化手臂康复辅具

    1、“3D扫描+3D打印”技术为矫形修复、医疗辅助器具定制等领域带来突破性创新 近年来,随着AI、大数据、3D扫描、3D打印、计算、物联网
    的头像 发表于 10-31 11:25 236次阅读
    <b class='flag-5'>3D</b>扫描技术医疗领域创新实践,积木易搭<b class='flag-5'>3D</b>扫描仪Mole助力定制个性化手臂康复辅具

    XTR300如何将4~20mA信号转为0~3V的信号?

    XTR300如何将4~20mA信号转为0~3V的信号?
    发表于 08-06 06:36

    裸眼3D笔记本电脑——先进的光场裸眼3D技术

    随着科技的不断进步,裸眼3D技术已经不再是科幻电影中的幻想。如今,英伦科技裸眼3D笔记本电脑这一前沿科技带到了我们的日常生活中。无论你是专业的3D模型设计师,还是希望在视频播放和模型
    的头像 发表于 07-16 10:04 538次阅读

    3D建模的重要内容和应用

    3D建模是一种技术,通过计算机软件创建虚拟三维模型,模拟现实世界中的物体或场景。这项技术广泛应用于建筑设计、电影制作、游戏开发、工程仿真等领域。下面古河科技介绍一些与3D建模相关的
    的头像 发表于 06-21 14:48 635次阅读

    友思特案例 | 自研创新!三维工件尺寸测量及处理解决方案

    3D相机等新型传感器的发展克服了传统工件尺寸测量的各种局限,可获取丰富的三维数据。友思特提供了一种工件3D尺寸测量和
    的头像 发表于 06-13 14:13 477次阅读
    友思特案例 | 自研创新!三维工件尺寸测量及<b class='flag-5'>点</b><b class='flag-5'>云</b>处理解决方案

    3D建模的特点和优势都有哪些?

    3D建模是一种用于创建三维对象的过程,它在许多领域都有着广泛的应用,包括动画、游戏开发、建筑设计、工程以及制造业等。下面古河科技介绍一些关于3D建模的内容详情,包括它的特点、优势以
    的头像 发表于 05-13 16:41 2429次阅读

    PADS2.7,如何将3D封装与PCB封装绑定,然后再PCB设计时可直接调用?

    PADS2.7,如何将3D封装与PCB封装绑定,然后再PCB设计时可直接调用?
    发表于 05-06 17:07

    机器人3D视觉引导系统框架介绍

    通过自主开发的3D扫描仪可获准确并且快速地获取场景的云图像,通过3D识别算法,可实现在对云图中的多种目标物体进行识别和位姿估计。
    发表于 04-29 09:31 335次阅读
    机器人<b class='flag-5'>3D</b>视觉引导系统框架介绍

    新质生产力探索| AICG浪潮下的3D打印与3D扫描技术

    随着技术的不断进步,3D打印和3D扫描已经成为现代制造业和设计领域的重要工具。为了深入探讨这些技术的最新发展和应用前景。蘑菇创客空间举办了以《AICG浪潮下的新质生产力》为主题的开放夜活动,邀请
    的头像 发表于 04-01 09:28 419次阅读

    3D动画原理:电阻

    电阻3D
    深圳崧皓电子
    发布于 :2024年03月19日 06:49:19

    基于深度学习的方法在处理3D进行缺陷分类应用

    背景部分介绍了3D应用领域中公开可访问的数据集的重要性,这些数据集对于分析和比较各种模型至关重要。研究人员专门设计了各种数据集,包括用于3D形状分类、
    的头像 发表于 02-22 16:16 1157次阅读
    基于深度学习的方法在处理<b class='flag-5'>3D</b><b class='flag-5'>点</b><b class='flag-5'>云</b>进行缺陷分类应用

    高分工作!Uni3D3D基础大模型,刷新多个SOTA!

    的结果,但是在3D视觉中模型的scale up始终没有成功。我们旨在NLP/2D中scale up的成功复现到3D表征模型上。
    的头像 发表于 01-30 15:56 880次阅读
    高分工作!Uni<b class='flag-5'>3D</b>:<b class='flag-5'>3D</b>基础大模型,刷新多个SOTA!

    友思特C系列3D相机:实时3D云图像

    3D相机
    虹科光电
    发布于 :2024年01月10日 17:39:25

    让协作更便捷,3D工业相机获UR+认证

    本次获得UR+认证的3D机器视觉硬件产品主要为适用于手眼协同的小型化3D工业相机PS及FS系列,紧凑轻巧,高精度大视野,可实时采集三维空间
    的头像 发表于 01-05 17:18 1005次阅读
    让协作更便捷,<b class='flag-5'>图</b>漾<b class='flag-5'>3D</b>工业相机获UR+认证

    两种应用于3D对象检测的深度学习方法

    是标准 RGB 图像与其关联的“深度”的组合,目前由 Kinect 或英特尔实感技术使用。3D 数据可以对传感器周围环境进行丰富的空间表示,并可应用于机器人、智能家居设备、无人驾驶汽车或医学成像。
    的头像 发表于 01-03 10:32 1099次阅读
    两种应用于<b class='flag-5'>3D</b>对象检测的<b class='flag-5'>点</b><b class='flag-5'>云</b>深度学习方法