3D视觉专用名词概念解释,深度图、点云图、IR图、RGB图像

本文介绍了深度相机如何生成深度图、点云图以及IR和RGB图像,着重讨论了这些数据结构的生成原理、位深度和相关参数,包括内参、外参和畸变处理。
摘要由CSDN通过智能技术生成

🌞欢迎来到深度学习的世界 
🌈博客主页:卿云阁

💌欢迎关注🎉点赞👍收藏⭐️留言📝

🌟本文由卿云阁原创!

🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!


1. 深度图

深度图中的单个像素值是空间中物体的某个点到垂直于左红外镜头光轴并通过镜头光心(深度相机光学零点)平面的垂直距离。

深度图是深度相机视野内所有点的深度数据构成的矩阵。深度图是一个16bit位深的单通道矩阵,单位为毫米。没有深度信息的点值为0。为直观的体现不同距离数值,在SDK提供的sample程序中,输出的深度图均被映射到了RGB色彩空间,所以显示出来的结果为RGB三通道8bit位深的位图,深度数据无外参,无畸变,只能提供用于转换点云数据的内参。

2.点云图

    通过深度相机得到的物体外观表面的点数据集合是点云。使用深度相机得到的点云信息为三维坐标(X,Y,Z)。点云图是深度相机捕捉到的所有点的点云信息构成的数据矩阵。每点为3个float类型x,y,z值。没有三维空间信息的点为(0,0,0)。

点云图数据格式。

3. IR图

IR图像为红外图像传感器输出的红外图像。在输出深度图的时候,部分型号的相机输出的IR图像是被系统处理过的图像,如果需要看原始的IR图像,需要关闭深度图像输出。关闭深度图像输出后,激光投射器也会自动关闭。如果需要打开激光器,需主动调用SDK API关闭激光器的自动控制功能,并且设置激光机强度,才能看到正常的红外图像传感器图像。IR图像分为左IR图和右IR图,二者均包含内参和畸变参数,但是因为左IR和深度图是同一个空间坐标系,所以左IR图像无外参。

4. RGB图像

不同型号的Percipio相机会输出不同数据类型的RGB图像。其中一类RGB图像传感器含有硬件ISP模块,输出机为正常的YUV422/JPG图像,经OPENCV处理即可显示为RGB图像。另一类RGB图像传感器没有硬件ISP模块,输出的raw bayer图像数据显示为图像时,画面颜色”偏绿”,经过SDK的软件ISP处理(如白平衡),才可以显示为正常色彩空间的RGB图像; 没有硬件ISP模块的RGB图像传感器可以确保输出的图像数据与IR图像数据同步。RGB图像传感器组件提供了内参,外参数,畸变参数。

要将Open3D云图转换为深度图,首先需要将云数据转换为图像数据。在Open3D中,可以使用voxelize()函数将云数据转换为体素网格表示。体素网格是一个三维网格,根据云在网格中的分布来估计深度值。 首先,我们需要创建一个空的体素网格对象,并设置体素大小。然后,将云数据传递给voxelize()函数,将云数据转换为体素网格表示。接下来,通过调用extract_voxel_point_indices()函数提取体素网格中非空体素的索引。 通过这些索引,可以创建一个空的深度图像。遍历每个体素的索引,在深度图像中对应像素位置处设置深度值。可以使用目标像素的位置和体素大小转换索引为像素坐标。 最后,将深度图像的像素值归一化到0-1范围内。这可以通过将深度值减去最小深度值,并除以最大深度值-最小深度值来实现。 需要注意的是,转换后的深度图像是灰度图像,深度值表示云中物体到相机的距离。 总结起来,将Open3D云图转换为深度图的步骤如下: 1. 创建一个体素网格对象,并设置体素大小。 2. 使用voxelize()函数将云数据转换为体素网格表示。 3. 使用extract_voxel_point_indices()函数提取体素网格中非空体素的索引。 4. 创建一个空的深度图像,并遍历每个体素的索引,在深度图像中设置深度值。 5. 归一化深度图像的像素值到0-1范围内。 通过这些步骤,可以将Open3D云图转换为对应的深度图像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卿云阁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值