ubuntu下opencv3和opencv2共存

最近高翔大神写的《视觉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,不添加这一句就可以。

### UbuntuOpenCV 的下载与安装 #### 使用预编译包安装 OpenCV 对于希望快速部署 OpenCV 应用程序的用户来说,可以采用预编译的方式进行安装。这种方式简单快捷,适合大多数应用场景。 通过官方仓库可以直接获取并安装最新稳定版: ```bash sudo apt update sudo apt install libopencv-dev python3-opencv ``` 此命令不仅会安装核心库 `libopencv-dev` 还包含了 Python 绑定支持[^1]。 #### 编译源码方式安装 OpenCV 如果需要特定配置或者最新的功能特性,则建议从源码构建 OpenCV。这虽然过程较为繁琐,但提供了更大的灵活性。 ##### 准备工作 首先确保系统已经安装了必要的开发工具链以及依赖项: ```bash sudo apt-get install cmake git pkg-config sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev \ libavformat-dev libswscale-dev libv4l-dev \ libjpeg-dev libpng-dev libtiff5-dev gfortran openexr \ libatlas-base-dev python3-dev python3-numpy libtbb2 libtbb-dev \ libdc1394-22-dev ``` 上述指令涵盖了 CMake 构建工具、图像处理所需的各类库以及其他辅助组件][^[^23]。 ##### 获取源代码 可以从 GitHub 上克隆 OpenCV 其额外模块(如需): ```bash git clone https://github.com/opencv/opencv.git cd opencv mkdir build && cd build ``` 接着按照个人需求调整 CMake 配置参数来定制化编译选项。 ##### 编译与安装 完成以上准备工作之后就可以开始正式编译了: ```bash cmake .. make -j$(nproc) sudo make install ``` 最后一步将会把编译好的文件复制到系统的标准位置以便全局访问[^2]。 #### 版本管理与共存策略 当存在多个不同版本的需求时,可以通过虚拟环境隔离各个项目的依赖关系;也可以利用 conda 或者 vcpkg 等第三方包管理系统实现更方便灵活的多版本管理切换操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春哥一号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值