(1)安装opencv
本文安装的为 opencv3.4.15,本来准备安装3.1.0,但是好像和之前已经安装的vtk8.2有冲突。源码安装,cmake /make/install 走下来没问题。
(2)安装libfreenect2
特别注意,这理由与不同版本原因,不同的unbuntu的安装 有点差别,本文是20.04,如果是14.04,请直接参照 github 的readme 进行安装。
下载
git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libturbojpeg0-dev
sudo apt-get install libglfw3-dev其他可选的我都没有安装了opencl opengl cuda等,有需要自己安装。mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
make
make install
安装完成,可以运行一下测试,连接摄像机
./bin/Protonect
(3)IAI Kinect2
这个需要在ros的工作目录下进行安装,但是好像和20.04有些问题,挺多报错的。
cd ~/catkin_ws/src/
git clone https://github.com/code-iai/iai_kinect2.git
cd iai_kinect2
rosdep install -r --from-paths .
cd ~/catkin_ws
catkin_make -DCMAKE_BUILD_TYPE="Release"
如果你没错误,恭喜你完成安装。
(4)报错排除
(1)error: #error PCL requires C++14 or above
在对应的包里面的Cmakelist.txt 加入
ADD_COMPILE_OPTIONS(-std=c++11 )ADD_COMPILE_OPTIONS(-std=c++14 )set( CMAKE_CXX_FLAGS "-std=c++11 -O3" )
(2)error: CV_IMWRITE_JPEG_QUALITY was not declared in this scope
CV_xxx 找不到的之类的报错
找到对应的报错文件,修改Crtl+F 先定位到:
修改
CV_xxx 修改为cv::xxx,例如CV_IMWRITE_JPEG_QUALITY修改为 cv::IMWRITE_JPEG_QUALITY 小写的cv奥!
(3)其中CV_BGR2GRAY 报错时,如果上面方法无效,先恢复原来的CV_XXX形式, error: CV_BGR2GRAY was not declared in this scope
添加头文件:
#include <opencv2/imgproc/types_c.h>
(4)其中CV_AA 报错时,如果上面方法无效,先恢复原来的CV_XXX形式, error: CV_AA was not declared in this scope
添加头文件:
#include<opencv2/imgproc/imgproc_c.h>
完成这些应该可以编译通过了。