【2017-11-08】Linux与openCV:opencv版本查看及库文件位置等
1. 查看当前系统中opencv的版本:
pkg-config --modversion opencv

可以看到系统中目前存在opencv2.4.9.1及opencv3.2.0两个版本。
不太清楚opencv的2.4.9.1的是什么时候安装的;
然而,使用opencv_version命令查看,系统目前起作用的版本3.2.0-dev,是以前安装ros的时候安装的。
这就尴尬了,找不到2.4.9.1的安装位置,先记录一下,编译openpose的时候似乎能找到opencv。
多个opencv版本可以共存,并按照选择切换,转一篇别人的文章,在编译时选择opencv的版本。
地址:http://blog.csdn.net/thornsuge/article/details/71171272
作者:thornsuge
最近高翔大神写的《视觉SLAM十四讲》到了,重新回顾,受益匪浅。不管是不是专注于视觉slam,都值得一看。
在之前的安装中,电脑默认安装的opencv2.4.8,当我们
FIND_PACKAGE( OpenCV REQUIRED ) 时
系统默认在/usr/share/OpenCV下找OpenCVConfig.cmake,确定引入的Opencv的头文件和库文件的位置。
高博在他的书中,选择了OpenCV3.1版本,与
sudo apt-get install libopencv-dev
安装的opencv2.4 的版本不一样,会出现一些冲突。
话虽如此,一些经典的算法选择的仍然是OpenCV的较早版本,因此我们需要直到多版本OpenCV并存。
网上其他的一些方法比较繁杂,我选择了一个我觉得比较简单的方法。
首先,下载OpenCV3的源码 opencv3.2 我选择了最新的3.2版本,和3.1差别不大。
下载解压后,我用cmake-gui进行安装,感觉比较直观。
mkdir build
cd build
cmake-gui ..
在configure中选择默认设置即可,opencv3要下载一个ippicv的第三方包,直接下比较慢,可以自己下后,放到3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e里即可。
ippicv_linux_20151201.tgz
在之后的安装配置中,我把
CMAKE_INSTALL_PREFIX
改为
/usr/local/opencv3,之后generate,再make和sudo make install,在对应目录下就有opencv3的头文件和库文件了。
当自己所写的程序使用到opencv3时,在
FIND_PACKAGE( OpenCV REQUIRED ) 前,添加
set(OpenCV_DIR "usr/local/opencv3/share/OpenCV")
这样计算机就找到opencv3的对应头文件和库文件了,如果继续使用opencv2,不添加这一句就可以。
【2017-11-08】Linux与openCV:opencv版本查看及库文件位置等的更多相关文章
- Opencv各个版本的万能头文件
每次下载opencv的新版本时,都需要重新写头文件,更改链接库配置,很麻烦有木有?下面这个头文件是我在别人的代码中淘出来的,很不错,与大家分享~(具体作者忘记了,不好意思啊) 作者很巧妙地利用Open ...
- windows下编译Android版本的boost库文件
1.起因: 手上有一个用到了boost的asio库和thread库的工程要编译到手机上(Android版本和ios版本),本文只介绍如何编译到Android版本,ios版本之后再介绍,也许就不介绍了( ...
- Linux系统中如何添加自己的库文件路径
库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的.一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用 ...
- Linux 中安装软件报缺少共享库文件的错误
linux 安装一些如软件 或者相关的模块时,经常报出缺少一些依赖包的 libxxx.so等的共享库文件 首先找到 该共享库文件 然后查看/etc/ld.so.conf 这个文件记录了编译时使用的动态 ...
- Linux菜鸟——常见命令一 查看及创建目录文件等命令
命令行提示符 [root@localhost ~]# [当前用户名@主机名 当前所在目录]$ linux 超级用户 root window 超级用户 administartor # 超级用户 $ 普通 ...
- Linux系统上java调用C++ so库文件
PART1: java中使用jna替代jni调用c++/c生成的 dll/so库文件需要做的事项 1.引入JNA依赖或者直接下载JNAjar包 <!-- http ...
- 2017.11.15 linux软件安装管理(todo)
学习来自:http://www.imooc.com/learn/447 第一章 介绍 第二章 软件包简介 1.源码包 2.二进制包(RPM包或系统默认包) 脚本安装包其实是别人把软件安装的脚本写好了, ...
- Linux find过滤掉没有查看权限的文件
参考:https://blog.csdn.net/sinat_39416814/article/details/84993424 https://www.jianshu.com/p/2b056e1c0 ...
- 【Linux】常用命令 lsof查看打开的文件
Linux系统把软硬件都抽象成文件,所以通过文件可以追踪到很多重要信息,如读取的配置文件.打开的端口等. 下面是常见的用法: 默认测试文件名为text.txt 1,显示打开text.txt的进程: l ...
随机推荐
- Eclipse: User Operation is waiting for “Building Workspace”
这个情况可能有多个原因导致,比如,非正常关闭eclipse,时钟不匹配等等,可能解决的方法有: 1. 删除<workspace_folder>/.metadata/.lock文件 2. e ...
- PHP命名规则
参考: http://nowhisky.diandian.com/post/2012-08-12/40033898638 就一般约定而言,类.函数和变量的名字应该是能够让代码阅读者能够容易地知道这些代 ...
- Centos 7 ip地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33 HWADDR="00:15:5D:07:F1:02" TYPE="Ether ...
- MongoDB基本用法(增删改高级查询、mapreduce)
TestCase.java package com.wujintao.mongo; import java.net.UnknownHostException; import java.util.Arr ...
- 京东-Java开发工程师-一面
时间:2017-4-7 16:47 时长:32分19秒 类型:笔试前电话面试 之前打过一个电话过来说了一声,下午就直接打过来面试了,没有自我介绍貌似 1. 你做的这些东西是什么样的? 2. 选一个你觉 ...
- 【12】FtpWebRequest上传下载
下载文件 /// <summary> /// 下载文件 /// </summary> /// <param name="filename">&l ...
- 撩课-Python-每天5道面试题-第7天
一. 函数的返回值的概念,语法以及注意事项? 场景 当我们通过某个函数, 处理好数据之后, 想要拿到处理的结果 语法 def 函数(): 函数体 return 数据 注意事项 3.1 return 后 ...
- Sprng IOC&AOP&事务梳理 (文章整理new)
IOC <理解 IOC> <IOC 的理解与解释> 正向控制:传统通过new的方式.反向控制,通过容器注入对象. 作用:用于模块解耦. DI:Dependency Inject ...
- jquery获取哪一个下拉框被选中
var val = $("select[name='type_irb'] option:selected").val();
- BZOJ1021 [SHOI2008]循环的债务
Description Alice.Bob和Cynthia总是为他们之间混乱的债务而烦恼,终于有一天,他们决定坐下来一起解决这个问题. 不过,鉴别钞票的真伪是一件很麻烦的事情,于是他们决定要在清还债务 ...