OpenCV的安装经验(Linux)
来源:互联网 发布:ubuntu wine怎么安装 编辑:程序博客网 时间:2024/06/10 17:32
OpenCV的安装经验
OpenCV是计算机视觉最常用的库了,本身很大,而很多linux发行版上会自带OpenCV的软件包,这导致了大家在安装时经常会碰到多版本共存的问题。在此我总结了我使用OpenCV的方法套路,使用此方法安装、导入工程可以灵活地选择自己要安装的版本。
安装
首先当然是去官网下载源码安装包。地址如下
http://opencv.org/releases.html
似乎3.x的版本和2.4版本的接口变化挺大。等有时间了再去仔细研究吧。
本文推荐,安装目录和源码在一个目录下,以避免污染系统的/usr。具体命令如下:
unzip opencv-2.4.13.3.zipcd opencv-2.4.13.3mkdir build destdircd buildcmake ..makemake install DESTDIR =../destdir/
解释
如命令所示,在源码根目录下创建了一个编译项目的build
目录,同时创建了一个存放项目位置的destdir
目录。我当前的源码目录如下所示(比较久远有多个自建的目录):
图中共有四个新建的目录dist是最初安装的版本。dist_withgtk是后来编程需要加上gtk编译的版本。而distdir是为了写本文而构建的目录。
注意
make install DESTDIR =../destdir/
此命令的DESTDIR
后的参数定义了需要安装的位置。而项目安装在此目录后,项目脚本会自动创建标准unix的代码与库架构并将项目安装进去:
由此推测安装脚本的默认值应该是系统根目录
。而直接安装,会为以后卸载,更新带来很多麻烦(更新。。。没试过)。所以通常我建议自己定制它。
使用
以上就是项目安装的方法。而安装了以后,该如何使用自己编译好的版本呢?这就要谈到cmake了。通常我们使用OpenCV都是在使用cmake构建的工程下。而一般网上博客的教程都是如下代码:
find_package(OpenCV REQUIRED)include_directories(${OpenCV_INCLUDE_DIRS})add_executable(exec sources)target_link_libraries(exec ${OpenCV_LIBS} )
其实本文提出的方法区别不大,就是在find_package
前加上
set(OpenCV_DIR "/home/xdeddy/Desktop/deplib/opencv-3.2.0/destdir/usr/local/share/OpenCV")
注意路径中/home/xdeddy/Desktop/deplib/opencv-3.2.0/destdir
就是编译后的文件安装的根目录,就是上文DESTDIR
指定的位置,根据实际情况修改即可。且后面的/usr/local/share/OpenCV
必须加上,这是固定不变的。
总结与讨论
- 本文推荐的方法很简单,核心就是在安装时指定
make install
后的DESTDIR
参数,在使用时指定cmake
的OpenCV_DIR
变量。 - 至于为何指定的是
cmake
的OpenCV_DIR
变量,是因为,该变量指定了一个cmake的配置文件存放的地址。OpenCV
算是一个非常非常标准的cmake工程库了,所以它非常完善地采用了cmake的这个特性。大家可以在上文的目录里找到OpenCVConfig.cmake
这个配置文件。这是一个cmake
工程的标准配置文件,指定了本库的头文件、库文件的安装位置,并设置了相关变量。各发行版自带的安装包自带了OpenCVConfig.cmake
这个配置文件。且OpenCV_DIR
变量也默认会指向相应路径,所以我们在apt-get install
后才可以安逸地通过find_package(OpenCV REQUIRED)
去使用自带版本的库。同时用OpenCV_INCLUDE_DIRS
和OpenCV_LIBS
去指定头文件地址,链接的库文件。 - 后期我会再次总结cmake在大项目中的常用套路。
- 感觉OpenCV官方提供的cmake脚本应该支持更优雅的方法以实现多版本共存、卸载等机制,如果有哪位读者有所了解欢迎指教!
- OpenCV的安装经验(Linux)
- OpenCV 2.0 安装经验
- OpenCV 2.0 安装经验
- LINUX 下的opencv安装
- Linux下的opencv安装
- linux下opencv的安装
- linux 下opencv的安装
- Linux下的OpenCV安装
- OpenCV 2.0 安装经验(转)
- 一位linux强人安装Ubuntu8.04的经验(转)
- Linux安装的几点经验
- OpenCV在Linux(Fedora 10)下的安装
- OpenCV入门笔记(一) Linux下的安装
- linux下OpenCV 学习(一) onencv 的安装
- ★Linux安装经验(CentOS) - alva
- 使用OpenCV的一些经验
- OpenCv的一些学习经验
- OpenCV (Linux下的编译与安装)
- 1004. 成绩排名 (20)
- 设计模式(七)——策略模式
- js请求成功后跳转
- WDK10驱动开发包安装教程
- js 实现防止按钮被多次点击
- OpenCV的安装经验(Linux)
- Excel中关于银行卡号的应用即每隔4位加个空格及删除空格
- java中几种JSON库的解析速度对比
- 低版本Xcode装高版本的编译库文件
- 微信QQ自动抢红包、防撤回软件
- linux安装驱动
- Linux下mysql的使用
- unity3d list和 action
- 不知道为了什么