Advertisement

Kinect V2 在ros-noetic使用(ubuntu20.04)

阅读量:

(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 libfreenect2
    
    sudo 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>

完成这些应该可以编译通过了。

全部评论 (0)

还没有任何评论哟~