ubuntu16.04安装opencv2.x和opencv3.x 共存

# OpenCV33  
官网安装教程: https://docs.opencv.org/3.3.0/d7/d9f/tutorial_linux_install.html
查看适合自己的安装的版本:pkg-config --modversion opencv
下载文件: https://opencv.org/opencv-3-3.html
解压: tar -xvf opencv-3.3.0.tar.gz

下载opencv_contrib-3.3.0  :https://github.com/opencv/opencv_contrib
解压:~/opencv_contrib-3.3.0

cd opencv-3.3.0
mkdir build
cd build

新建/usr/local/opencv3 用来安装opencv3

安装依赖库:

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python2.7-dev python3.5-dev

 

# cmake
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 -D ENABLE_CXX11=ON -D WITH_CUDA=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules -D BUILD_SHARED_LIBS=ON -D WITH_GTK=ON -D BUILD_EXAMPLES=ON -D PYTHON_EXECUTABLE=/usr/bin/python3.5 -D BUILD_WITH_DEBUG_INFO=OFF -D CMAKE_C_COMPILER=/usr/bin/gcc-5 -D ENABLE_PRECOMPILED_HEADERS=OFF -D WITH_FFMPEG=OFF..

cmake注意事项:

-D CMAKE_INSTALL_PREFIX=/usr/local/opencv3   # 安装目录

-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules   # opencv_contrib文件目录


cmake可能出错,查看/build/CMakeFiles/CMakeError.log文件里error的地方是not support c++11问题,解决方法在cmake加入几句(上面已经加了):
-D CMAKE_C_COMPILER=/usr/bin/gcc-5
-D ENABLE_CXX11=ON
-D ENABLE_PRECOMPILED_HEADERS=OFF


如果有错误:/home/dyz/opencv-3.3.0/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c:1:28: fatal error: linux/videodev.h: 没有那个文件或目录
这里是用cuda编译的问题 把上面cmake -D WITH_CUDA=ON 改为-D WITH_CUDA=OFF再次编译就可以了


# make
make -j4 
sudo make install
‘’‘

make时出错error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope

这是ffmpeg问题 我们先关了不用 -D WITH_FFMPEG=OFF

ffmpeg的依赖感觉总是有问题 可以自己下载安装包编译 并指定安装路径 防止和其他包冲突 

’‘’

Done


安装完pkg-config --modversion opencv 查看版本信息

'''

# 安装opencv2.4

wget https://github.com/opencv/opencv/archive/2.4.13.5.zip -O opencv-2.4.13.5.zip  # 版本最好是官方一点的地方下载的

unzip opencv-2.4.13.5.zip

cd opencv-2.4.13.5

mkdir release

cd release

mkdir /usr/local/opencv2

cmake -D CMAKE_CXX_COMPILER=/usr/bin/g++ -D CMAKE_C_COMPILER=/usr/bin/gcc -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv2 -D WITH_FFMPEG=OFF -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=ON -DWITH_OPENGL=ON -D BUILD_FAT_JAVA_LIB=ON -D INSTALL_TO_MANGLED_PATHS=ON -D INSTALL_CREATE_DISTRIB=ON -D INSTALL_TESTS=ON -D ENABLE_FAST_MATH=ON -D WITH_IMAGEIO=ON -D BUILD_SHARED_LIBS=OFF -D WITH_GSTREAMER=ON -D WITH_CUDA=OFF -D WITH_OPENCL=OFF -D WITH_OPENCL_SVM=OFF -D WITH_OPENCLAMDFFT=OFF -D WITH_OPENCLAMDBLAS=OFF ..

# 这里CMAKE_INSTALL_PREFIX=/usr/local/opencv2是为了不和opencv3安装的冲突  WITH_FFMPEG=OFF 没用ffmpeg

make -j4

make install

# 到这是安装成功 但是使用的话还是要改bashrc文件

# 使用opencv2

sudo gedit ~/.bashrc 
在文件末尾加上

export PKG_CONFIG_PATH=/usr/local/opencv2/lib/pkgconfig 
export LD_LIBRARY_PATH=/usr/local/opencv2/lib

保存,source ~/.bashrc  

sudo ldconfig  生效

输入查看安装情况:

pkg-config --modversion opencv

pkg-config --cflags opencv

pkg-config --libs opencv

查看opencv版本已经是2.4.13了 

 

# 在自己程序里使用opencv2.4.13

#  在要使用opencv的项目的CMakeLists.txt里面添加一行 

# 在project(...)之前添加:

set(OpenCV_DIR "/usr/local/opencv2/share/OpenCV")

 

OK ...

切换回opencv3.3 把上面改成(不知道有没有简单的方法 不用每次设置的?)

export PKG_CONFIG_PATH=/usr/local/opencv3/lib/pkgconfig 
export LD_LIBRARY_PATH=/usr/local/opencv3/lib

</article>
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值