从分割后的深度图像生成点云

本文介绍从分割后的深度图像生成点云的方法。首先解释深度图转点云的原理,涉及相机坐标系、像素坐标系的转换,并通过矩阵运算推导出关键公式。接着,阐述了关键代码实现,最后展示了转换结果。后续将继续探讨相机标定和点云拼接等操作。
摘要由CSDN通过智能技术生成

前言

前一段时间忙着秋招和修改论文意见反稿,就没有接着做关于Azure Kinect DK相关的探索总结,现在有时间就慢慢补起来。上一篇是利用PP-Humanseg模型分割出color图和深度图中的人像,这一篇紧接着上一篇的工作,从人像分割后的图像结果获得人体的点云数据(也可以直接先生成点云再作点云的分割,等后续探索)。

一、深度图转点云

1.1 原理

关于这部分的原理很多博客和文章都已经有详细的叙述,这里就作一个简单的记录。

首先,我们需知道相机成像原理中的一些映射过程:
请添加图片描述
上图中有四个坐标系分别为世界坐标系( X w X_w Xw, Y w Y_w Yw, Z w Z_w Zw),相机坐标系( X c X_c Xc, X c X_c Xc, X c X_c Xc),像素坐标系( u u u, v v v)和图像物理坐标系( x x x, y y y)。

图像中任意一个像素点m在世界坐标系坐标为( x w x_w xw, y w y_w yw, z w z_w zw),在摄像机坐标系坐标为( x c x_c xc, y c y_c yc, z c z_c zc),在像素坐标系坐标为( u m u_m um, v m v_m vm),在图像物理坐标系坐标为( x m x_m xm, y m y_m ym)。

图像物理坐标系的原点在图像坐标系中的原点为( u 0 u_0 u0, v 0 v_0 v0),图像上每个点在 x x x y y y轴方向上的物理尺寸是 d x d_x dx d y d_y dy。则图像中任意一个像素点m在( u u u, v v v)坐标系中满足如下关系:
[ u m v m 1 ] = [ 1 d x 0 u 0 0 1 d y v 0 0 0 1 ] [ x m y m 1 ] \begin{bmatrix} u_m \\ v_m \\ 1 \end{bmatrix} = \begin{bmatrix} \frac{1}{d_x}&0&u_0 \\ 0&\frac{1}{d_y} &v_0 \\ 0&0&1 \end{bmatrix} \begin{bmatrix} x_m \\ y_m \\ 1 \end{bmatrix} umvm1 = dx1000dy10u0v

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值