安装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)
依赖包
这些依赖包我用的服务器上都已经装过了,因为服务器上之前安装了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
下载opencv,opencv-contrib源码
进如你想安装的文件夹,比如我创建了一个Software/opencv文件夹用于安装
- $ cd Software/opencv
- $ git clone https://github.com/Itseez/opencv.git
- $ git clone https://github.com/Itseez/opencv_contrib.git
这时候你会在Software/opencv目录下发现两个文件夹 opencv和opencv_contrib,进入opencv文件夹,病创建一个编译文件夹,这个文件夹用于存放cmake之后的文件,我们这里创建名为build的文件夹。 然后进入build目录
- $ cd opencv
- $ mkdir build
- $ cd build
然后开始编译
- 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的路径
其他的参数我没用到,可以参看
官方文档
编译成可执行文件,此时仍在build目录下
- make -j9
make后面的参数表示并行的线程数
安装,依然在build目录下
- $ make install
至此就安装完成opencv3.1和对应的contrib了
其中涉及到的目录结构
/Software
------------/opencv
-----------------------/local
-----------------------/opencv
--------------------------------/build
-----------------------/opencv_contrib
安装torch-opencv
- luarocks install cv
然后出现下面的错误

SSE2是一种指令集,现在一般的服务器都应该支持。
我们可以查看服务器cpu信息:
- cat /proc/cpuinfo
看是否支持SSE2
如下图

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

然后再次执行'luarocks install cv'
这个时候因为我们是在自己用户下安装的opencv,所以可能提示找不到opencv3.1需要指定我们编译的opencv3.1的目录
- OpenCV_DIR=~/Software/opencv/opencv/build/ luarocks install cv
我在安装过程中还出现了xphoto不兼容的错误信息,所以按照教程,我把这个包给屏蔽了,那么最终安装torch-opencv代码为
- OpenCV_DIR=~/Software/opencv/opencv/build/ DONT_WRAP="xphoto;superres" luarocks install cv
至此终于将torch-opencv安装成功
测试

发现这时候可以成功调用cv.optflow包了 -
安装torch-opencv的更多相关文章
- Torch,Tensorflow使用: Ubuntu14.04(x64)+ CUDA8.0 安装 Torch和Tensorflow
系统配置: Ubuntu14.04(x64) CUDA8.0 cudnn-8.0-linux-x64-v5.1.tgz(Tensorflow依赖) Anaconda 1. Torch安装 Torch是 ...
- Python3.5安装及opencv安装
Python安装注意事项(版本3.5,系统windows)1.安装好Python后将D:\Program Files\Python.D:\Program Files\Python\Scripts加入P ...
- 下载安装和OpenCV匹配的Android开发环境
ok blog Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境 !!OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Jav ...
- Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境
Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境 !!OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Java接口调用Ope ...
- (原)Ubuntu16 中安装torch版的cudnn
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5668471.html 参考网址: https://devtalk.nvidia.com/default ...
- ubuntu 14.04 安装torch及编译环境zbstudio
ubuntu 14.04 安装torch及编译环境zbstudio torch zbstudio 本来是安装官网给的步骤安装torch的,可是碰到一系列的问题,后来参考网上的安装方法安装成功了 官网安 ...
- 在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法
在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法 对于,在Linux系统下做图像识别,不像在windows下面我们可以利用Matlab中的图像工具箱来实现,我们必须借助Ope ...
- (原)netbeans中添加anaconda3安装的opencv
转载请注明出处: https://www.cnblogs.com/darkknightzh/p/9974310.html 新装了ubuntu16.04后,直接安装了anaconda3,调试c++程序时 ...
- 解决国内安装tensorflow, opencv等安装不成功或下载太慢问题
解决国内安装tensorflow, opencv等安装不成功或下载太慢问题 复制自博客:https://blog.csdn.net/jorg_zhao/article/details/80075293 ...
- centos安装torch==1.4.0与相关细节
对于某些直接安装torch==1.4.0报错的情况(没错,就是我遇到了) 在网上查找了,大概的解决方法是先安装一个低版本的torch和torchvision, torchvision是pytorch中 ...
随机推荐
- Python Web学习笔记之Python多线程和多进程、协程入门
进程和线程究竟是什么?如何使用进程和线程?什么场景下需要使用进程和线程?协程又是什么?协程和线程的关系和区别有哪些? 程序切换-CPU时间的分配 首先,我们的任何一个程序都需要运行在一个操作系统中,如 ...
- PHP微信公众号后台开发(Yii2实现)
本文内容较多,包括微信接入.获取微信用户信息.微信支付.JSSDK配置参数获取等部分.如果读者对微信开发没有一个主观上的认识,那么建议读者先研读微信公众平台开发者文档,然后再阅读本文,效果更佳!另外本 ...
- 20145101《Java程序设计》第8周学习总结
20145101<Java程序设计>第8周学习总结 教材学习内容总结 第十四章 NIO与NIO2 NIO使用频道(channel)来衔接数据节点,对数据区的标记提供了clear(),rew ...
- P4013 数字梯形问题 网络流二十四题
P4013 数字梯形问题 题目描述 给定一个由 nn 行数字组成的数字梯形如下图所示. 梯形的第一行有 m 个数字.从梯形的顶部的 m 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形 ...
- 垒骰子|2015年蓝桥杯B组题解析第九题-fishers
垒骰子 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体. 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的 ...
- MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句
查询所有数据库占用磁盘空间大小的SQL语句: ,),' MB') as data_size, concat(,),'MB') as index_size from information_schema ...
- dp问题 -挑战例题 2017-7-24
01 背包 题意: 在N件物品取出若干件放在容量为W的背包里,每件物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数).求背包能够容纳的最大价值. f[i] ...
- perl入门知识(3)
引用 在很多场合下使用引用传值,能在很大程度上提高代码的运行效率. 定义一个引用在变量名前加”\”就可以了,如: $ra=\$a; $rb=\@b; ...
- python正则表达式re模块详细介绍--转载
本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这点不用担心,python会处理地和Ascii字符一样漂亮. 正则表达式使用反斜杆( ...
- BZOJ 1189 【HNOI2007】 紧急疏散evacuate
题目链接:紧急疏散 这薄脊题我代码不知不觉就写长了…… 这道题二分答案显然,然后用最大流\(check\)即可.设当前二分的答案为\(x\),那么把每扇门拆成\(x\)个点,第\(i\)个代表在第\( ...