zoukankan      html  css  js  c++  java
  • 安装torch-opencv

    安装torch-opencv

    想在torch中使用光流法,于是就希望能够调用opencv中的光流代码,而torch中对opencv-3.1.0进行了封装,即torch-opencv包,如果仅仅安装opencv3.1,然后安装torch-opencv,当然也能安装成功,但是这时候调用光流法'Optflow=cv.optflow'总是失败,找不到这个包。这时候只能使用'require'cv.cudaoptflow' ,这个包里虽然光流方法比较全,但是似乎每帧图像都要单独转换为cuda类型,这个转换过程我跑起来感觉太慢了。
    如果我们不适用cuda的话,那么就需要安装opencv-contrib。

    下面记录下安装过程中碰到的问题和解决办法
    注: 服务器系统 : Ubuntu 14.04/ 16.04 LTS, 非root用户

    安装opencv3.1(包含 opencv-contrib)

    1. 依赖包
      这些依赖包我用的服务器上都已经装过了,因为服务器上之前安装了torch,Anaconda,matlab,cuda8.0,cudnn v6.0等软件,常用的依赖项都齐全。如果安装过程中提示缺少某些依赖项,先下载安装。

    GCC 4.4.x or later
    CMake 2.8.7 or higher
    Git
    GTK+2.x or higher, including headers (libgtk2.0-dev)
    pkg-config
    Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
    ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev

    1. 下载opencv,opencv-contrib源码
      进如你想安装的文件夹,比如我创建了一个Software/opencv文件夹用于安装

    1. $ cd Software/opencv 
    2. $ git clone https://github.com/Itseez/opencv.git 
    3. $ git clone https://github.com/Itseez/opencv_contrib.git 
    1. 这时候你会在Software/opencv目录下发现两个文件夹 opencv和opencv_contrib,进入opencv文件夹,病创建一个编译文件夹,这个文件夹用于存放cmake之后的文件,我们这里创建名为build的文件夹。 然后进入build目录

    1. $ cd opencv 
    2. $ mkdir build 
    3. $ cd build 

    然后开始编译

    1. cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=~Software/opencv//local -D OPENCV_EXTRA_MODULES_PATH=~/Software/opencv/opencv_contrib/modules/ .. 

    注意:

    • 最后的两个点(空格+两点)一定不能忽略

    • CMAKE_INSTALL_PREFIX 指定了编译后安装的路径,这里我在Software/opencv下新建了一个local文件夹,用于存在。在网上查到的许多资料中都是 CMAKE_INSTALL_PREFIX=/usr/local,但那得有root权限才可以,否则,向我们这样没有root权限的就会在后面安装过程中报错: /usr/local/ 没有权限

    • OPENCV_EXTRA_MODULES_PATH 是 opencv_contrib中modules的路径
      其他的参数我没用到,可以参看
      官方文档

    1. 编译成可执行文件,此时仍在build目录下

    1. make -j9 

    make后面的参数表示并行的线程数

    1. 安装,依然在build目录下

    1. $ make install 

    至此就安装完成opencv3.1和对应的contrib了
    其中涉及到的目录结构
    /Software
    ------------/opencv
    -----------------------/local
    -----------------------/opencv
    --------------------------------/build
    -----------------------/opencv_contrib

    安装torch-opencv

    参考官网torch-opencv installation

    1. luarocks install cv 

    然后出现下面的错误

    error

    1494665229582.jpg

    SSE2是一种指令集,现在一般的服务器都应该支持。
    我们可以查看服务器cpu信息:

    1. cat /proc/cpuinfo 

    看是否支持SSE2
    如下图

    cpuinfo

    1494665832070.jpg

    可以看到我们用的服务器支持SSE2指令集
    于是我们可以直接修改err信息中intrin_sse.hpp文件
    将原文件中1796行所在的函数如下修改
    enter description here

    然后再次执行'luarocks install cv'
    这个时候因为我们是在自己用户下安装的opencv,所以可能提示找不到opencv3.1需要指定我们编译的opencv3.1的目录

    1. OpenCV_DIR=~/Software/opencv/opencv/build/ luarocks install cv 

    我在安装过程中还出现了xphoto不兼容的错误信息,所以按照教程,我把这个包给屏蔽了,那么最终安装torch-opencv代码为

    1. OpenCV_DIR=~/Software/opencv/opencv/build/ DONT_WRAP="xphoto;superres" luarocks install cv 

    至此终于将torch-opencv安装成功

    测试

    enter description here

    1494666445029.jpg

    发现这时候可以成功调用cv.optflow包了 -

  • 相关阅读:
    jsp学习笔记(一)
    20170215学习计划
    腾讯云CVM使用记录--使用root权限
    转:ASP.NET MVC3 Model验证总结
    ASP.NET MVC3更新出错:ObjectStateManager中已存在具有同一键的对象
    c#中如何将一个string数组转换为int数组
    转:自定义ASP.NET MVC Html辅助方法
    转:ASP.NET MVC扩展之HtmlHelper辅助方法
    自己用的一个ASP.Net MVC分页拿出来分享下(转)
    MVC分页控件之二,为IQueryable定义一个扩展方法,直接反回PagedList<T>结果集(转)
  • 原文地址:https://www.cnblogs.com/YiXiaoZhou/p/6849619.html
Copyright © 2011-2022 走看看