• 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’
  • 相关阅读:
    CDH 2、Cloudera Manager的安装
    204 01 Android 零基础入门 03 Java常用工具类 04 Java集合 04 Map集合 01 Map概述
    203 01 Android 零基础入门 03 Java常用工具类 04 Java集合 03 Set集合 07 删除宠物猫信息数据(引入泛型知识点)
    202 01 Android 零基础入门 03 Java常用工具类 04 Java集合 03 Set集合 06 查找宠物猫信息数据
    201 01 Android 零基础入门 03 Java常用工具类 04 Java集合 03 Set集合 05 添加重复的宠物猫信息数据
    200 01 Android 零基础入门 03 Java常用工具类 04 Java集合 03 Set集合 04 添加和显式宠物猫信息
    199 01 Android 零基础入门 03 Java常用工具类 04 Java集合 03 Set集合 03 宠物猫信息管理概述
    198 01 Android 零基础入门 03 Java常用工具类 04 Java集合 03 Set集合 02 案例:在集合中插入字符串
    197 01 Android 零基础入门 03 Java常用工具类 04 Java集合 03 Set集合 01 Set概述
    196 01 Android 零基础入门 03 Java常用工具类 04 Java集合 02 List集合 05 案例:公告的删除和修改
  • 原文地址:https://www.cnblogs.com/miaorn/p/14220171.html
Copyright © 2020-2023  润新知