Ubuntu中opencv3的编译安装

1、安装依赖包

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libjpeg62-dev libtiff4-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

2、下载opencv和opencv_contrib库

git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 3.2.0

git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib   
git checkout 3.2.0

编译安装

cd opencv
mkdir build
cd build

# 不带opencv_contrib的编译
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

# 或

# 不带opencv_contrib的编译
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=OFF \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
    -D BUILD_EXAMPLES=OFF \
    -D WITH_LAPACK=OFF \
    -D WITH_IPP=OFF ..

CMAKE_INSTALL_PREFIX:安装的python目录前缀,其实就是指定了python模块的安装路径:CMAKE_INSTALL_PREFIX/lib/python2.7/dist-packages。获取该路径的方式可以用python -c “import sys; print sys.prefix”
PYTHON_EXCUTABLE:指定python路径,在电脑上有多个版本的python时,可以通过该方式指定哪个python版本使用
OPENCV_EXTRA_MODULES_PATH: 指定opencv所需模块的路径,就是之前我们所说的contrib
注:
安装Opencv的时候,停在了下载ippicv的地方,一直都下载不下来
ippicv是一个并行计算库,其实可以不用的。
如果不想用这个并行计算库,在做Cmake的时候用参数关闭即可,但我还是建议使用这个库。
首先,手动下载ippicv
然后,将刚才下载的ippicv文件直接拷贝进入opencv源码的下面这个目录:
opencv/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e

3、编译安装
可以通过nproc命令查看cpu位几个内核,如下面的8代表是八核的cpu,启动8个线程。

make -j8 
sudo make install
sudo ldconfig

4、测试
通过查看 opencv 版本验证是否安装成功:

pkg-config --modversion opencv  

5、conda中的其他python版本(不能跨大版本共享使用)使用已编译的opencv
上述编译安装时把opencv安装在以下目录中

/usr/local/lib/python2.7/site-packages

此时Ubuntu环境原生的python已经可以使用cv2了,但如果使用了conda版本管理器,还需要使用如下设置才可生效

cd ~/miniconda2/envs/py2/lib/python2.7/site-packages    #conda默认python路径:~/miniconda2/lib/python2.7/site-packages
ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so

此时在conda的python中即可使用opencv和opencv_contrib了,在python中执行如下命令,如果无报错则可正常使用

import cv2
cv2.xfeatures2d.SIFT_create(nfeatures=500) #简单测试opencv_contrib是否安装成功!

=============================================================================

另一种快速安装方式

如果不想编译安装的话直接执行以下命令,同样能达到效果

#只安装opencv
pip install opencv-python

#同时安装opencv和opencv_contrib
pip install opencv-contrib-python

注:cv2依赖于numpy,如出现以下报错安装numpy即可
这里写图片描述

pip install numpy

猜你喜欢

转载自blog.csdn.net/otengyue/article/details/80410569