【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 ...
随机推荐
- 使用jdk生成ssl证书文件
java自带有 ssl 证书生成的工具, 在 /bin/keytools.exe 需要确认已经正确配置JAVA_HOME的环境变量 生成服务端证书: keytool -genkey -v -alias ...
- WPF中Popup等弹窗的位置不对(偏左或者偏右)
1.情况如图: 正常情况: 部分特殊情况: 在一般的电脑都能正确显示,就是第一种情况,同样的代码为什么在不同的电脑就会显示不同的位置呢,原来Windows为了满足 不同需求的用户,左撇 ...
- 浅谈javascript函数,变量声明及作用域
javascript函数跟变量的声明.作用域这些概念网上都已经讲烂了. 这里写个博客,也相当于做个笔记. 变量声明 首先看个例子: var globalVar = "gv"; fu ...
- Training Logisches Denken
1.Das Begriff 1.1 Die Arten von Begriff 1.1.1 alleines Begriff,universales Begriff,Leeres Begriff: A ...
- TabControl 选项卡控件
TabControl 控件是由System.Windows.Forms.TabControl类提供的,作用就是讲相关的组件组合到一系列选项卡页面上. MulitiLine 属性用来设置是否显示多行 ...
- Visual studio 2017 c++ wcout 无法输出中文
wcout.imbue(locale(locale(), "", LC_CTYPE));
- C# 之多线程(二)
一.确定多线程的结束时间,thread的IsAlive属性 在多个线程运行的背景下,了解线程什么时候结束,什么时候停止是很有必要的. 案例:老和尚念经计时,2本经书,2个和尚念,一人一本,不能撕破,最 ...
- ADO MFC SQL2000
对于初学VC的朋友来说,连接数据库其实是一件不容易的事情.记得我当时为了与数据库连接上,找了好多资料,上网看了好多文章,都没有解决这个问题.后 来,有个网友帮我解决了,我再次表示感谢.为了后来VC初学 ...
- 关于JAVA项目报表选型过程
本人一直在走.NET技术路线,考虑到后期公司搞JAVA项目,也算是进行技术灾备,开始对JAVA技术进行关注.万事开头难,也是上来一头包.没办法,顶着上吧.上面开始分给我任务了.就是对后期项目报表进行方 ...
- SPOJ:NSUBSTR - Substrings
题面 字符串$ S \(最多包含\) 25 \(万个小写拉丁字母.我们将\) F(x) \(定义为长度为\) x \(的某些字符串出现在\) s \(中的最大次数.例如,对于字符串\) "a ...