Ubuntu16.04 Install OpenCV3.2.0/3.4.0 Anaconda3(Python3.6.5)

为了后续工作顺利进行,并没有采用简化版本的安装,而是通过源码进行编译。第一遍源码编译很成功,但是因为在cmake时没有选择python3,导致编译好的cv2.so默认安装到ubuntu自带的python2.7下,虽然在python2.7下可以import cv2成功,但是我的tensorflow环境是搭建在了annconda3中,cv2在优先的python3.6.5里则无法成功导出,后来浏览前辈的帖子,查询原因,用到了文件转移+改变PYTHONPATH等,都会出一些问题,决定重装。

1、卸载opencv

sudo make uninstall  #在之前解压后新建的文件中执行
cd ../     #下面的一些文件没有可以选择忽略
sudo rm -r build
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*    
sudo apt-get remove opencv-doc opencv-data python-opencv  #删除依赖

2、安装opencv
(1)安装一些依赖库

sudo apt-get install build-essential 
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-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
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev  
sudo apt-get install libxvidcore-dev libx264-dev   
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install ffmpeg

(2)解压下载的安装包,新建一个文件夹,并在该文件内进行编译

cmake -DBUILD_TIFF=ON -DBUILD_opencv_java=OFF -DWITH_CUDA=OFF -DENABLE_AVX=ON -DWITH_OPENGL=ON -DWITH_OPENCL=ON -DWITH_IPP=ON -DWITH_TBB=ON -DWITH_EIGEN=ON -DWITH_V4L=ON -DWITH_VTK=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_opencv_python2=OFF -DCMAKE_INSTALL_PREFIX=$(python3 -c "import sys; print(sys.prefix)") -DPYTHON3_EXECUTABLE=$(which python3) -DPYTHON3_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") -DPYTHON3_PACKAGES_PATH=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") .. 

备注:中间会下载文件耐心等待…
(3)亲测可行

make -j8 #编译会快很多很多
sudo make install  #完成

(4)中间或者最后都有可能出现问题,很正常,多试几次就可以了。比如第(2)步没有下载成功需要安装的文件卡掉,或者最后import时出现的lib文件缺失等等,不要担心总会装好的~

你可能感兴趣的:(#,Ubuntu)