zoukankan      html  css  js  c++  java
  • ubuntu18.04安装kinect驱动

    https://github.com/OpenKinect/libfreenect2

     opencv4.5

    首先安装依赖

    安装工具
    sudo apt-get install build-essential cmake pkg-config 
    安装libusb
    sudo apt-get install libusb-1.0-0-dev
    安装TurboJPEG
    sudo apt-get install libturbojpeg0-dev 
    sudo apt-get intsall libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev
    安装OpenGL
    sudo apt-get install libglfw3-dev
    安装OpenNI2
    sudo apt-get install libopenni2-dev
    安装
    sudo apt-get install beignet-dev
    git clone https://github.com/OpenKinect/libfreenect2.git
    cd libfreenect2
    mkdir build 
    cd build
    cmake ..
    make
    sudo make install
    sudo cp libfreenect2/platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/

    进入build目录

    ./bin/Protonect

    查看测试

    安装 iai_kinect2

    cd ~/catkin_ws/src/
    git clone https://github.com/code-iai/iai_kinect2.git
    cd iai_kinect2
    rosdep install -r --from-paths .

    如果这里出错则

    rosdep install --from-paths . --ignore-src -r

    然后编译

    该类错误之需要将 CV_IMWRITE_PNG_COMPRESSION  改为cv::IMWRITE_PNG_COMPRESSION  即可

    /home/miao/catkin_ws/src/iai_kinect2/kinect2_calibration/src/kinect2_calibration.cpp: In constructor ‘Recorder::Recorder(const string&, const string&, const string&, const string&, Source, bool, bool, const Size&, float)’:
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_calibration/src/kinect2_calibration.cpp:113:22: error: ‘CV_IMWRITE_PNG_COMPRESSION’ was not declared in this scope
         params.push_back(CV_IMWRITE_PNG_COMPRESSION);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp: In member function ‘void Kinect2Bridge::initCompression(int32_t, int32_t, bool)’:
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:464:28: error: ‘CV_IMWRITE_JPEG_QUALITY’ was not declared in this scope
         compressionParams[0] = CV_IMWRITE_JPEG_QUALITY;
                                ^~~~~~~~~~~~~~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:466:28: error: ‘CV_IMWRITE_PNG_COMPRESSION’ was not declared in this scope
         compressionParams[2] = CV_IMWRITE_PNG_COMPRESSION;
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:468:28: error: ‘CV_IMWRITE_PNG_STRATEGY’ was not declared in this scope
         compressionParams[4] = CV_IMWRITE_PNG_STRATEGY;
                                ^~~~~~~~~~~~~~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:469:28: error: ‘CV_IMWRITE_PNG_STRATEGY_RLE’ was not declared in this scope
         compressionParams[5] = CV_IMWRITE_PNG_STRATEGY_RLE;
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp: In member function ‘void Kinect2Bridge::initCompression(int32_t, int32_t, bool)’:
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:464:28: error: ‘CV_IMWRITE_JPEG_QUALITY’ was not declared in this scope
         compressionParams[0] = CV_IMWRITE_JPEG_QUALITY;
                                ^~~~~~~~~~~~~~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:466:28: error: ‘CV_IMWRITE_PNG_COMPRESSION’ was not declared in this scope
         compressionParams[2] = CV_IMWRITE_PNG_COMPRESSION;
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:468:28: error: ‘CV_IMWRITE_PNG_STRATEGY’ was not declared in this scope
         compressionParams[4] = CV_IMWRITE_PNG_STRATEGY;
                                ^~~~~~~~~~~~~~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:469:28: error: ‘CV_IMWRITE_PNG_STRATEGY_RLE’ was not declared in this scope
         compressionParams[5] = CV_IMWRITE_PNG_STRATEGY_RLE;
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~

    这个错误需要添加头文件#include <opencv2/imgproc/imgproc.hpp>   #include <opencv2/imgproc/types_c.h>

    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp: In member function ‘void Kinect2Bridge::receiveColor()’:
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1103:45: error: ‘CV_BGRA2BGR’ was not declared in this scope
             cv::cvtColor(tmp, images[COLOR_HD], CV_BGRA2BGR);
                                                 ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1107:45: error: ‘CV_RGBA2BGR’ was not declared in this scope
             cv::cvtColor(tmp, images[COLOR_HD], CV_RGBA2BGR);
                                                 ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1107:45: note: suggested alternative: ‘CV_RGB’
             cv::cvtColor(tmp, images[COLOR_HD], CV_RGBA2BGR);
                                                 ^~~~~~~~~~~
                                                 CV_RGB
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp: In member function ‘void Kinect2Bridge::processIrDepth(const cv::Mat&, std::vector<cv::Mat>&, const std::vector<Kinect2Bridge::Status>&)’:
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1183:50: error: ‘CV_BGRA2BGR’ was not declared in this scope
             cv::cvtColor(tmp, images[COLOR_SD_RECT], CV_BGRA2BGR);
                                                      ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1187:50: error: ‘CV_RGBA2BGR’ was not declared in this scope
             cv::cvtColor(tmp, images[COLOR_SD_RECT], CV_RGBA2BGR);
                                                      ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1187:50: note: suggested alternative: ‘CV_RGB’
             cv::cvtColor(tmp, images[COLOR_SD_RECT], CV_RGBA2BGR);
                                                      ^~~~~~~~~~~
                                                      CV_RGB
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp: In member function ‘void Kinect2Bridge::processColor(std::vector<cv::Mat>&, const std::vector<Kinect2Bridge::Status>&)’:
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1250:55: error: ‘CV_BGR2GRAY’ was not declared in this scope
           cv::cvtColor(images[COLOR_HD], images[MONO_HD], CV_BGR2GRAY);
                                                           ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1254:65: error: ‘CV_BGR2GRAY’ was not declared in this scope
           cv::cvtColor(images[COLOR_HD_RECT], images[MONO_HD_RECT], CV_BGR2GRAY);
                                                                     ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1258:57: error: ‘CV_BGR2GRAY’ was not declared in this scope
           cv::cvtColor(images[COLOR_QHD], images[MONO_QHD], CV_BGR2GRAY);
                                                             ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1262:67: error: ‘CV_BGR2GRAY’ was not declared in this scope
           cv::cvtColor(images[COLOR_QHD_RECT], images[MONO_QHD_RECT], CV_BGR2GRAY);
                                                                       ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp: In member function ‘void Kinect2Bridge::receiveColor()’:
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1103:45: error: ‘CV_BGRA2BGR’ was not declared in this scope
             cv::cvtColor(tmp, images[COLOR_HD], CV_BGRA2BGR);
                                                 ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1107:45: error: ‘CV_RGBA2BGR’ was not declared in this scope
             cv::cvtColor(tmp, images[COLOR_HD], CV_RGBA2BGR);
                                                 ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1107:45: note: suggested alternative: ‘CV_RGB’
             cv::cvtColor(tmp, images[COLOR_HD], CV_RGBA2BGR);
                                                 ^~~~~~~~~~~
                                                 CV_RGB
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp: In member function ‘void Kinect2Bridge::processIrDepth(const cv::Mat&, std::vector<cv::Mat>&, const std::vector<Kinect2Bridge::Status>&)’:
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1183:50: error: ‘CV_BGRA2BGR’ was not declared in this scope
             cv::cvtColor(tmp, images[COLOR_SD_RECT], CV_BGRA2BGR);
                                                      ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1187:50: error: ‘CV_RGBA2BGR’ was not declared in this scope
             cv::cvtColor(tmp, images[COLOR_SD_RECT], CV_RGBA2BGR);
                                                      ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1187:50: note: suggested alternative: ‘CV_RGB’
             cv::cvtColor(tmp, images[COLOR_SD_RECT], CV_RGBA2BGR);
                                                      ^~~~~~~~~~~
                                                      CV_RGB
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp: In member function ‘void Kinect2Bridge::processColor(std::vector<cv::Mat>&, const std::vector<Kinect2Bridge::Status>&)’:
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1250:55: error: ‘CV_BGR2GRAY’ was not declared in this scope
           cv::cvtColor(images[COLOR_HD], images[MONO_HD], CV_BGR2GRAY);
                                                           ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1254:65: error: ‘CV_BGR2GRAY’ was not declared in this scope
           cv::cvtColor(images[COLOR_HD_RECT], images[MONO_HD_RECT], CV_BGR2GRAY);
                                                                     ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1258:57: error: ‘CV_BGR2GRAY’ was not declared in this scope
           cv::cvtColor(images[COLOR_QHD], images[MONO_QHD], CV_BGR2GRAY);
                                                             ^~~~~~~~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp:1262:67: error: ‘CV_BGR2GRAY’ was not declared in this scope
           cv::cvtColor(images[COLOR_QHD_RECT], images[MONO_QHD_RECT], CV_BGR2GRAY);

    在改文件添加#include <opencv2/imgproc/imgproc_c.h>

    home/miao/catkin_ws/src/iai_kinect2/kinect2_viewer/src/viewer.cpp: In member function ‘void Receiver::imageViewer()’:
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_viewer/src/viewer.cpp:279:84: error: ‘CV_AA’ was not declared in this scope
             cv::putText(combined, oss.str(), pos, font, sizeText, colorText, lineText, CV_AA);
                                                                                        ^~~~~
    /home/miao/catkin_ws/src/iai_kinect2/kinect2_viewer/src/viewer.cpp:279:84: note: suggested alternative: ‘CV_MSA’
  • 相关阅读:
    storyboard文件的认识
    设置程序启动时加载的storyboard
    IBAction和IBOutlet
    listview
    JDK下载地址
    [置顶] Docker学习总结(2)——Docker实战之入门以及Dockerfile(二)
    [置顶] Docker学习总结(1)——Docker实战之入门以及Dockerfile(一)
    [置顶] Docker学习总结(1)——Docker实战之入门以及Dockerfile(一)
    XML学习总结(2)——XML简单介绍
    XML学习总结(2)——XML简单介绍
  • 原文地址:https://www.cnblogs.com/miaorn/p/14220171.html
Copyright © 2011-2022 走看看