Kinect V2 深度图与彩色图融合(Ubuntu 14.04)

参考Kinect V2在Ubuntu 14.04系统上的驱动配置与安装在一个全新安装的Ubuntu 14.04系统中配置完成相关的驱动及其依赖。

Kinect V2深度图与彩色图融合的方式,简单粗暴,由于深度图像是512*424大小,因此,直接把彩色图像缩放成对应的512*424,然后像素点一一对应。至于原始大小的彩色图像,那么就是一片像素对应同一个深度即可。

注意,这个方式只适合Kinect V2,可以理解成Kinect V2的设计就是这样的,两个设备出厂的时候就校准为这样的输出。

具体的转换代码参考registration.cpp,Registration.cpp,建议直接调用驱动层提供的功能来实现,这样的话,一系列的参数设置可以同步,否则上层每次修改了分辨率等参数的时候,要自己手工修改这些数据。

Python深度图与彩色图融合的例子如下:

 

参考连接


Kinect V2在Ubuntu 14.04系统上的驱动配置与安装

以下的操作是在一个全新安装的Ubuntu 14.04系统上进行的,目前已知在安装了ROS的系统上并且已经安装过ROS版本的Kinect V2驱动的,可能需要先移除以前安装的面向ROS编译的Kinect V2驱动才行。

首先是安装配置驱动程序以及运行依赖库

参照libfreenect2 install linux的说明安装驱动

安装Python扩展

Python例子如下:

注意,如果编译的时候出现如下错误:

则该现象出现的原因是首先参照

进行了编译,并且编译的时候是没有开启CUDA支持的。

然后执行了

因此在~/libfreenect2/include/libfreenect2/下面已经生成了config.hexport.h这两个文件。
然后又按照我们这里的

重新编译,并且这次开启了CUDA支持,导致GCC在编译的时候使用了我们在~/libfreenect2/build/libfreenect2/下面生成的config.hexport.h这两个文件,而NVCC却使用了~/libfreenect2/include/libfreenect2/下面的config.hexport.h进行编译,导致上面的错误发生。

因此删除全部的临时文件,然后再次重新编译即可。

参考连接