【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 ...
随机推荐
- goahead3.6.3就基本使用(后台上传信息到html页面),高手请忽略
声明:这里面的代码均为网上找的然后有小小的改动,并非原创.但文章为原创 一..编译 1.1,.下载:进入http://embedthis.com/goahead/下载goahead3.6.3(2017 ...
- 使用 JFlex
参数设置和声明段 %% 词法规则段 用户代码段这个段中的所有内容将被拷贝到生成的词法类的类声明之前.在这个段中,常见的是 package 和 import 语句.我们的词法说明在这个段中引入(impo ...
- PTA (Advanced Level) 1015 Reversible Primes
Reversible Primes A reversible prime in any number system is a prime whose "reverse" in th ...
- Linux下批量修改文件及文件夹所有者及权限
Linux下批量修改文件及文件夹所有者及权限需要使用到两个命令,chmod以及chown 例:对/opt/Oracle/目录下的所有文件与子目录执行相同的权限变更: chmod -R 700 /opt ...
- ORACLE 分页 java 用jdbc方式以 sys账号连接oracle数据的问题
2,3,4,6,8 betwenen 为闭区间,前后都包括 select * from(select a.*,rownum rn from (select * from student) a ) ...
- pureMVC与strangeIoc框架对比
前言 最近有机会了解到了StrangeIoc框架,就拿来跟自己比较熟悉的pureMVC进行一下简要的对比.这两套开源框架都是基于MVC模式的扩展,pureMVC是一个跨平台跨语言的MVC轻量级应用框架 ...
- Spring MVC 数据绑定流程分析
1. 数据绑定流程原理★ ① Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 Data ...
- golang类型转化
int 转 float mean:= float32(sum) float 转 int a := 5.0 b := int(a) string 转 int i,_ := strconv.At ...
- VPS虚拟化架构OpenVZ、KVM、Xen、Hyper-V的区别
1.OpenVZ OpenVZ(简称OVZ)采用SWsoft的Virutozzo虚拟化服务器软件产品的内核,是基于Linux平台的操作系统级服务器虚拟化架构.这个架构直接调用宿主机(俗称:母机)中的内 ...
- 【Chromium】sandboxed window问题记录
问题发现 在业务逻辑中发现有时使用chrome.app.window.create这个API创建出来的窗口无法使用其他的API,不仅其他chrome.app.window的API说window is ...