1. 程式人生 > >Ubuntu14.04下安裝opencv及ROS Indigo下配置Kinect V2

Ubuntu14.04下安裝opencv及ROS Indigo下配置Kinect V2

Ubuntu14.04下安裝opencv及ROS Indigo下配置Kinect V2

本篇文章是我在配置Kinect V2時的一些記錄,參考了一些前人的經驗部落格,並把遇到的問題記錄了下來。但之前儲存在了word裡面,出現了一些亂碼,這是我盡力修改了之後的結果,但也難免哪裡會出錯,還請見諒。

  • 一、Ubuntu14.04安裝OpenCV2.4.13

因為你安裝Kinect V2的驅動時安裝依賴項之前最好安裝編譯好opencv,並且必須要安裝2.X。

安裝教程可參考:https://blog.csdn.net/chunmi6974/article/details/78298470

這裡要注意,opencv的源存在一些問題,下載較慢。我是直接拷來了opencv的資料夾,把build資料夾清空。然後教程裡面的解壓部分就可以直接跳過。直接從第3步開始按照教程往下做。

教程中配置pkg-config這裡可以選擇,我沒有做,不影響後面。

測試opencv

  1. 建立工作目錄

     mkdir~/opencv-lena
     cd ~/opencv-lena
     gedit DisplayImage.cpp
    
  2. 編輯如下程式碼

     #include <stdio.h>
     #include <opencv2/opencv.hpp>
     using namespacecv;
     int main(int argc, char** argv )
     {    
     if ( argc != 2 )
             {
                    printf("usage:
     DisplayImage.out <Image_Path>\n");
                    return -1;    
     }
      Mat image;     
     image = imread( argv[1], 1 );  
     if ( !image.data)     
     {
                printf("No image data \n");
                  return -1;     
     }
     namedWindow("Display Image", WINDOW_AUTOSIZE );
     imshow("Display Image", image);
     waitKey(0);    
     return 0;
     }
    
  3. 建立CMake編譯檔案

    gedit CMakeLists.txt
    

寫入如下內容

    cmake_minimum_required(VERSION 2.8)
    project( DisplayImage )
    find_package( OpenCV REQUIRED)
    add_executable( DisplayImage DisplayImage.cpp )
    target_link_libraries(DisplayImage ${OpenCV_LIBS} )
  1. 編譯
cd ~/opencv-lena
cmake .
make
  1. 執行

此時opencv-lena資料夾中已經產生了可執行檔案DisplayImage,下載lena.jpg放在opencv-lena下,執行

./DisplayImage lena.jpg
  1. 結果

結果就可以看到你呼叫的圖片了。

到這裡opencv就裝好了。

  • 二、Ubuntu 14.04+Ros下KinectV2 安裝

安裝可參考教程:https://www.cnblogs.com/hitcm/p/5118196.html

問題1:
第4步,安裝GLFW3時出現,找不到該檔案或者該目錄錯誤提示。

解決方案:既然找不到檔案,我們就在install.sh檔案中找到這個檔案包所在的網路地址,然後開啟這個網址,發現確實沒有3.0.4-1這個版本,然後我選擇了3.2.1-1這個版本。
更改命令為:

sudo dpkg -i
libglfw3*_3.2.1-1_*.deb

執行,發現還是找不到檔案。
我們再回到剛剛的install.sh檔案,發現檔案中很多路徑的名字還是3.0.4這個檔名,我們把所有的都進行更正,更正為我們使用的3.2.1.

再次執行,成功安裝GLFW3.

問題2:
測試驅動時:指示燈未出現變色,不過不影響,我們忽略它。

輸入執行./bin/Protonect命令時(注意這裡要在/liffreenect/build檔案路徑下)出現下列錯誤:

Version: 0.2.0 
Environment variables: LOGFILE=<protonect.log> 
Usage: ./bin/Protonect [-gpu=<id>] [gl | cl | clkde |
cuda | cudakde | cpu] [<device serial>] 
        [-noviewer]
[-norgb | -nodepth] [-help] [-version] 
        [-frames<number of frames to process>] 
To pause and unpause: pkill -USR1 Protonect 
[Info] [Freenect2Impl] enumerating devices... 
[Info] [Freenect2Impl] 10 usb devices connected 
[Error] [Freenect2Impl] failed to open Kinect v2: @3:5
LIBUSB_ERROR_ACCESS Access denied (insufficient permissions) 
[Info] [Freenect2Impl] found 0 devices 
no device connected! 

解決方案:
設定執行:

sudo cp../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/

然後重新插拔Kinect2.

問題完美解決。