Ubuntu16.04 Anaconda 安装pyth3.6 和opencv3.1.0

由于ubuntu14.04/16.04都自带了python2.7和python3.5,所以无需在安装python。

如果需要安装python3.6,则需要重新安装

由于ubuntu14.04/16.04都自带了python2.7和python3.5,所以无需在安装python。

1、检查python是否安装:

~ whereis python

2、首先需要的是 pip:

~ sudo apt-get install python3-setuptools python3-dev sudo easy_install3 pip

安装pip3

curl https://bootstrap.pypa.io/get-pip.py

3、然后是 numpy:

~ pip3 install numpy

4、安装依赖:

1)、~ sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

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

2. 安装OpenCV3.3.1

(1)下载opencv和opencv_contrib,在刚才的终端中输入:

git clone https://github.com/opencv/opencv.git
去下载对应版本的opencv_contrib

会在home中发现有opencv和opencv_contrib两个文件夹,则下载成功

(2)用cmake配置属性(cpu版):

首先文件夹opencv新建一个build文件夹

cd ~/opencv
mkdir build
cd build   #打开build文件夹

配置编译opencv

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local  -D INSTALL_C_EXAMPLES=ON  -D PYTHON3_EXECUTABLE=/usr/bin/python3 -D PYTHON_INCLUDE_DIR=/usr/include/python3.5 -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_EXTRA_MODULES_PATH=/data1/storage_proxy/deeplearning/dl_project/inceptionv3/data/opencv-3.1.0/opencv_contrib/modules -D BUILD_EXAMPLES=ON -D CMAKE_LIBRARY_PATH=/usr/local/cuda-8.0/lib64/stubs -D CUDA_CUDA_LIBRARY=/usr/local/cuda-8.0/lib64/stubs/libcuda.so ..

该步成功,之后输入:

make -j7 # 7个任务并行,加快安装(亲测,如果输入的是make-j,电脑安装慢,还死机了,导致安装失败)

sudo make install

至此,安装完成

如想要查询安装的版本

输入:

python3

import cv2

cv2.__version__

可以得到:

**** 如果没有出现上面的结果,出现ImportError: No module named cv2 报错,

pip3 install opencv-python 可以解决这个问题

错误1:samples/gpu/CMakeFiles/example_gpu_hog.dir/build.make:122: recipe for target

这是因为编译的时候没有加入cuda-8.0路径

解决办法:cmake的时候加入-D CMAKE_LIBRARY_PATH=/usr/local/cuda-8.0/lib64/stubs -D CUDA_CUDA_LIBRARY=/usr/local/cuda-8.0/lib64/stubs/libcuda.so ..

错误2:In file included from /home/avtomaton/arbeit/sdk/cxx/opencv/build/modules/python2/pyopencv_generated_include.h:11:0,
from /home/avtomaton/arbeit/sdk/cxx/opencv/modules/python/src2/cv2.cpp:12:

/home/avtomaton/arbeit/sdk/cxx/opencv_contrib/modules/hdf/include/opencv2/hdf/hdf5.hpp:40:18: fatal error: hdf5.h: No such file or directory

解决办法:into modules/python/common.cmake

# This file is included from a subdirectory
set(PYTHON_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../")

ocv_add_module(${MODULE_NAME} BINDINGS)

became

# This file is included from a subdirectory
set(PYTHON_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../")

find_package(HDF5)
include_directories(${HDF5_INCLUDE_DIRS})

ocv_add_module(${MODULE_NAME} BINDINGS)

python3.5中编译opencv可能会出现以下错误:

错误:在编译安装opencv3.1时可能会报错

 
  1. modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/build.make:290: recipe for target ‘modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/graphcuts.cpp.o’ failed

  2. make[2]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/graphcuts.cpp.o] Error

这是CUDA配置出错。

解决办法1:不用CUDA在cmake时设置-DWITH_CUDA=OFF

解决办法2:GraphCut在cuda7.5中弃用,在cuda8.0中被移除。

修改 ~/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp文件 
把第45行修改成:

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

即在 \#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) 加上 || (CUDART_VERSION >= 8000)

错误2:

opencv3.1+opencv_contrib编译,cmake时候遇到下面问题:

[plain] view plain copy

print?

  1. CMake Error at /home/ubuntu/opencv3.1.0/opencv-3.1.0/cmake/OpenCVUtils.cmake:895 (file):  
  2.   file DOWNLOAD cannot open file for write.  
  3. Call Stack (most recent call first):  
  4.   /home/ubuntu/opencv3.1.0/opencv_contrib/modules/dnn_modern/CMakeLists.txt:20 (ocv_download)  
  5.   
  6.   
  7. CMake Error at /home/ubuntu/opencv3.1.0/opencv-3.1.0/cmake/OpenCVUtils.cmake:899 (message):  
  8.   Failed to download .  Status=  
  9. Call Stack (most recent call first):  
  10.   /home/ubuntu/opencv3.1.0/opencv_contrib/modules/dnn_modern/CMakeLists.txt:20 (ocv_download)  
  11.   
  12.   
  13. -- Configuring incomplete, errors occurred!  
  14. See also "/home/ubuntu/opencv3.1.0/opencv-3.1.0/build/CMakeFiles/CMakeOutput.log".  
  15. See also "/home/ubuntu/opencv3.1.0/opencv-3.1.0/build/CMakeFiles/CMakeError.log".  
 
  1. CMake Error at /home/ubuntu/opencv3.1.0/opencv-3.1.0/cmake/OpenCVUtils.cmake:895 (file):

  2. file DOWNLOAD cannot open file for write.

  3. Call Stack (most recent call first):

  4. /home/ubuntu/opencv3.1.0/opencv_contrib/modules/dnn_modern/CMakeLists.txt:20 (ocv_download)

  5.  
  6.  
  7. CMake Error at /home/ubuntu/opencv3.1.0/opencv-3.1.0/cmake/OpenCVUtils.cmake:899 (message):

  8. Failed to download . Status=

  9. Call Stack (most recent call first):

  10. /home/ubuntu/opencv3.1.0/opencv_contrib/modules/dnn_modern/CMakeLists.txt:20 (ocv_download)

  11.  
  12.  
  13. -- Configuring incomplete, errors occurred!

  14. See also "/home/ubuntu/opencv3.1.0/opencv-3.1.0/build/CMakeFiles/CMakeOutput.log".

  15. See also "/home/ubuntu/opencv3.1.0/opencv-3.1.0/build/CMakeFiles/CMakeError.log".

需要把

[plain] view plain copy

print?

  1. opencv_contrib/modules/dnn_modern/CMakeLists.txt 中的FILENAME替换为PACKAGE
  2. 对应的**.cmake也中对应错误处 中的FILENAME替换为PACKAGE

同理,其他地方报错,继续如此替换即可!

参考链接:

1. Ubuntu16.04下安装OpenCV3.2.0 - Arkenstone - 博客园    http://www.cnblogs.com/arkenstone/p/6490017.html

2. OpenCV: Installation in Linux    https://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html

猜你喜欢

转载自blog.csdn.net/gqixf/article/details/82977845
今日推荐