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.

问题完美解决。

猜你喜欢

转载自blog.csdn.net/wang_chaochen/article/details/85040517