Ubuntu16.04下opencv3.x和opencv2.x多版本共存

本文介绍如何在Ubuntu16.04系统中实现OpenCV 3.4.1与2.4.11两个版本的共存,并提供详细的安装步骤与环境配置方法。此外,还提供了版本切换的具体操作。

Ubuntu16.04下OPencv多版本共存

之前安装了opencv3.4.1,现在需要安装opencv2.4.11

1.下载opencv2.4.11安装包

2.安装依赖项

sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev  libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev

3.在/usr/local新建opencv2411文件来安装存放opencv2.4.11的安装文件

mkdir -p /usr/local/opencv2411

4.编译安装

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv2411 -D CUDA_GENERATION=Kepler -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=OFF -D WITH_OPENGL=ON -D BUILD_TIFF=ON ../local/opencv2411 ..

make -j8

sudo make install

make过程中可能会报以下错误:
在这里插入图片描述解决方案:需要修改一处源码:

在opencv-2.4.11/modules/gpu/src/graphcuts.cpp中将

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改为

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

5.配置

sudo gedit ~/.bashrc
//在文件末尾加上下面两行:
export PKG_CONFIG_PATH=/usr/local/opencv2411/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv2411/lib
//保存之后
source ~/.bashrc
//查看opencv的版本
pkg-config --modversion opencv

6.OpenCV3.4.0和OpenCV2.4.11使用的切换方法
在CMakeLists.txt中加入下面几行即可使用OpenCV2.4.11:

set(OpenCV_DIR /usr/local/opencv2411/share/OpenCV)
find_package(OpenCV 2.4 REQUIRED)
include_directories(SYSTEM ${OpenCV_INCLUDE_DIRS} /usr/local/opencv2411/include)

使用OpenCV3.4.0时,将上面的三行中的第1行和第3行去掉,然后将第2行改为即可。

find_package(OpenCV REQUIRED)

参考链接:
https://blog.youkuaiyun.com/llfjcmx/article/details/81238766

https://blog.youkuaiyun.com/qq_38880380/article/details/77066065

### Ubuntu 系统下适合安装OpenCV 版本推荐 在选择适合 Ubuntu 系统的 OpenCV 版本时,需要综合考虑系统的兼容性、软件需求以及社区支持情况。以下是对不同版本 OpenCV 的推荐及安装建议: #### 1. **系统兼容性与稳定性** - 对于较新的 Ubuntu 版本(如 20.04 LTS 或更高),推荐安装 OpenCV 4.x 系列[^3]。这些版本提供了更丰富的功能更好的性能优化。 - 如果使用的是较旧的 Ubuntu 版本(如 16.04 或 18.04),OpenCV 3.x 系列可能是更稳定的选择[^1]。可以通过 `apt-cache policy libopencv-dev` 命令检查可用的 OpenCV 版本,并根据实际需求选择。 #### 2. **功能需求** - OpenCV 4.x 系列引入了更多的深度学习支持、改进的 GPU 加速功能以及对现代硬件的更好适配[^2]。如果项目涉及深度学习或需要高性能图像处理,建议优先选择 OpenCV 4.x。 - 如果项目依赖于某些特定的 OpenCV 3.x 功能或插件,可以考虑保留 OpenCV 3.x 并实现多版本共存。 #### 3. **多版本共存** - 在某些情况下,可能需要同时安装 OpenCV 3.x OpenCV 4.x。通过正确配置编译选项环境变量,可以实现两个版本的共存。例如,安装 OpenCV 4.x 后,使用 `pkg-config --modversion opencv4` 查询其版本信息,而不会影响 OpenCV 3.x 的正常使用。 #### 示例代码:检查 OpenCV 版本 ```bash # 检查系统中默认的 OpenCV 版本 pkg-config --modversion opencv # 如果安装OpenCV 4.x,使用以下命令查询 pkg-config --modversion opencv4 ``` #### 安装步骤概览 - 使用包管理器安装: ```bash sudo apt-get update sudo apt-get install libopencv-dev python3-opencv ``` - 自定义编译安装(适用于特定版本需求): ```bash # 下载源码并解压 wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip unzip opencv.zip # 编译安装 mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. make -j$(nproc) sudo make install ``` ### 注意事项 - 在安装前确保系统已安装必要的依赖项,例如 `build-essential` `cmake`。 - 如果需要 Python 接口支持,确保安装对应的 Python 包(如 `python3-opencv`)[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值