本实验使用Ubuntu14.04的64bit版本,ROS使用Indigo版本,图像获取使用OpenNI1(因为OpenNI2中未找到彩色图像和深度图像对齐功能,台湾的一代大神Heresy已经实现这一功能,但是我更喜欢OpenNI1官方对齐方法),图像处理使用OpenCV2,因其更好的通用行。
1.配置openni:
参考链接 http://www.20papercups.net/programming/kinect-on-ubuntu-with-openni/
根据这里面的教程可以对彩色数据和深度数据进行提取.
2.安装opencv2:
下载OpenCV源代码: http://opencv.org/downloads.html。
安装依赖:
sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev
依赖安装完成后,将opencv解压并进入目录,进行一下操作
mkdir build
cd build
cmake ..
make
sudo make install
3.安装ros:
http://wiki.ros.org/kinetic/Installation
由于ROS的版本更新速度较快,在ROS的Groovy版本之后,ROS同意采用了catkin来取代之前的rosbuild的包编译方式,但总体上来说是对CMakelists的又一层封装.因此不必在意.但是ROS的一些功能包的借口可能会发生变化,需要注意.
接下来就可以使用ROS自带的Kinect图像获取package或者使用OpenNI获取彩色图像和深度图像了。
使用ROS自带的Package功能可以参考古月居的blog:
使用OpenNI获取图像可以参考另一篇博客:
https://www.cnblogs.com/tornadomeet/archive/2012/10/01/2709851.html