Ubuntu16.4安装并配置OpenCV

在图像处理中,经常需要用到OpenCV,Ubuntu系统中装OpenCV编译过程中,报了很多错,最常见的就是这种

Makefile:160: recipe for target 'all' failed   make: *** [all] Error 

试了很多方法,都没有解决问题,后面看到有文章说是系统安装Anaconda,导致编译的时候某些组件用的不是系统自带的,而是anaconda的,只要注销掉anaconda的环境变量就行,注释掉以后重新make,就没有继续报错,这里记录下问题解决办法和安装OpenCV的方法

#编辑环境变量
sudo gedit ~/.bashrc
#使更改生效
source ~/.bashrc  
#接着就可以正常编译安装OpenCV

官方安装教程:OpenCV' Installation example in Linux

安装必要的包

[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

下载openc、opencv_contrib

cd ~/<my_working_directory>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

创建build文件夹

cd ~/opencv
mkdir build
cd build

编译的选项,官方文档中有说明具体的选项含义,可以根据需要选择性的使用,如果安装了anaconda,编译前先注释掉anaconda的环境变量

cmake
-D WITH_IPP=OFF       #是否要安装IPP
-D CMAKE_BUILD_TYPE=RELEASE     
-D CMAKE_INSTALL_PREFIX=/usr/local   #编译的路径
-D BUILD_opencv_python3=ON   #是否编译Python3的库
-D BUILD_opencv_python2=ON  #是否编译Python2的库
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules .. #modules存放的路径

Description of some parameters
            build type: CMAKE_BUILD_TYPE=Release\Debug
            to build with modules from opencv_contrib set OPENCV_EXTRA_MODULES_PATH to <path to opencv_contrib/modules/>
            set BUILD_DOCS for building documents
            set BUILD_EXAMPLES to build all examples
[optional] Building python. Set the following python parameters:
            PYTHON2(3)_EXECUTABLE = <path to python>
            PYTHON_INCLUDE_DIR = /usr/include/python<version>
            PYTHON_INCLUDE_DIR2 = /usr/include/x86_64-linux-gnu/python<version>
            PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu/libpython<version>.so
            PYTHON2(3)_NUMPY_INCLUDE_DIRS = /usr/lib/python<version>/dist-                  packages/numpy/core/include/
[optional] Building java.
            Unset parameter: BUILD_SHARED_LIBS
            It is useful also to unset BUILD_EXAMPLES, BUILD_TESTS, BUILD_PERF_TESTS - as they all will be statically linked with OpenCV and can take a lot of memory. 

还有可选的安装流程、编译选项根据需求来就好

 开始编译文件

make -j7 # runs 7 jobs in parallel

安装库文件

sudo make install

Python中验证安装是否完成:

import cv2
cv2.__version__

如果报错可以搜cv2.cpython-36m-x86_64-linux-gnu.so这个文件 然后复制到./lib/python3.6/site-packages库文件夹中

猜你喜欢

转载自blog.csdn.net/shiheyingzhe/article/details/81149868
今日推荐