Ubuntu16.04+python2.7搭建opencv3.2.0

本文记录了在Ubuntu16.04上使用python2.7安装opencv3.2.0的过程,包括下载必要文件、安装依赖、编译、测试及配置python3的opencv。在编译过程中可能遇到的问题和解决方案也被详细说明。
摘要由CSDN通过智能技术生成

在安装opencv3.2.0的过程中,我遇到了好多坑,特此记录一下。建议安装了Anaconda的朋友们找一找网上的方法,直接利用它进行安装,可以避免很多坑。
下面结合参考的网上的教程,说一说我的安装过程和解决办法。

一、准备工作

提前下载好三个文件,https://github.com/hanxuan123/opencv3.2/tree/master/all,这里给出网上分享的一个链接(感谢)。包括opencv-3.2.0、ippicv_linux_20151201.tgz、opencv_contrib-3.2.0

二、安装依赖文件

这里每个人需要装的文件可能不同,我是根据https://blog.csdn.net/yifa3588/article/details/78284794这篇博客中给的依赖文件先安装的,之后再根据CMake的报告添加缺少的依赖文件
在终端输入

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

三、编译

3.1

首先将第一步中下载好的opencv-3.2.0解压到一个新的文件夹中,我的新文件夹命名为opencv3,opencv_contrib-3.2解压到opencv-3.2.0中,再在opencv-3.2.0中新建一个文件夹,命名为build,并在该文件下编译。

3.2
cd /home/software/opencv3/opencv-3.2.0/build  #这里根据自己的路径调整
3.3
cmake -D CMAKE_BUILD_TYPE=RELEASE \
 -D CMAKE_INSTALL_PREFIX=/usr/local \
 -D INSTALL_C_EXAMPLES=ON \
 -D OPENCV_EXTRA_MODULES_PATH=/home/software/opencv3/opencv-3.2.0/opencv_contrib-3.2.0/modules/  ..   #这里根据自己的路径调整, 注意最后的两个点

注意:这是重要的一步,这一步可能会出现各种各样的问题,要根据所遇到的问题,对症下药~在此附上我遇到的一些问题和解决办法,仅供参考。

...

Checking for module 'gstreamer-base-1.0'
--   No package 'gstreamer-base-1.0' found
-- Checking for module 'gstreamer-video-1.0'
--   No package 'gstreamer-video-1.0' found
-- Checking for module 'gstreamer-app-1.0'
--   No package 'gstreamer-app-1.0' found
-- Checking for module 'gstreamer-riff-1.0'
--   No package 'gstreamer-riff-1.0' found
-- Checking for module 'gstreamer-pbutils-1.0'
--   No package 'gstreamer-pbutils-1.0' found
-- Checking for module 'gstreamer-base-0.10'
--   Found gstreamer-base-0.10, version 0.10.36
-- Checking for module 'gstreamer-video-0.10'
--   No package 'gstreamer-video-0.10' found
-- Checking for module 'gstreamer-app-0.10'
--   No package 'gstreamer-app-0.10' found
-- Checking for module 'gstreamer-riff-0.10'
--   No package 'gstreamer-riff-0.10' found
-- Checking for module 'gstreamer-pbutils-0.10'
--   No package 'gstreamer-pbutils-0.10' found
-- Looking for linux/videodev.h
-- Looking for linux/videodev.h - not found
-- Looking for linux/videodev2.h
-- Looking for linux/videodev2.h - found
-- Looking for sys/videoio.h
-- Looking for sys/videoio.h - not found
-- Checking for module 'libavresample'
--   No package 'libavresample' found
-- Checking for module 'libgphoto2'
--   No package 'libgphoto2' found
-- found IPP (ICV version): 9.0.1 [9.0.1]
-- at: /home/elsa/software/opencv3/opencv-3.2.0/build/3rdparty/ippicv/ippicv_lnx
-- Could not find OpenBLAS include. Turning OpenBLAS_FOUND off
-- Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off
-- Could NOT find Atlas (missing:  Atlas_CBLAS_INCLUDE_DIR Atlas_CLAPACK_INCLUDE_DIR Atlas_CBLAS_LIBRARY Atlas_BLAS_LIBRARY Atlas_LAPACK_LIBRARY) 
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE) 
-- Could NOT find JNI (missing:  JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH) 
-- Could NOT find Matlab (missing:  MATLAB_MEX_SCRIPT MATLAB_INCLUDE_DIRS MATLAB_ROOT_DIR MATLAB_LIBRARIES MATLAB_LIBRARY_DIRS MATLAB_MEXEXT MATLAB_ARCH MATLAB_BIN) 
-- VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file
CMake Error at cmake/OpenCVModule.cmake:295 (message):
  No extra modules found in folder:
  /home/software/opencv3/opencv3.2.0/opencv_contrib-3.2.0/modules

  Please provide path to 'opencv_contrib/modules' folder.
Call Stack (most recent call first):
  modules/CMakeLists.txt:7 (ocv_glob_modules)


......


-- 
-- Configuring incomplete, errors occurred!
See also "/home/elsa/software/opencv3/opencv-3.2.0/build/CMakeFiles/CMakeOutput.log".
See also "/home/elsa/software/opencv3/opencv-3.2.0/build/CMakeFiles/CMakeError.log".

出现这种情况,基本上就是失败了,要根据提示挨个填坑了。

首先是安装缺少的依赖包
根据这些提示,

sudo apt-get install \
libgstreamer0.10-dev \ 
libgstreamer-plugins-base0.10-dev \ 
libgstreamer1.0-dev \ 
libgstreamer-plugins-base1.0-dev \ 
gstreamer-plugins-base-devel \
libgphoto2-dev \

当然,最好将cmake升级一下,不然也可能出现错误。

sudo apt-get install cmake

除此之外,还可能存在ippicv_linux_20151201.tgz下载失败的问题。这时候可以将第一步中我们提前下载好的该文件,移动到报告中提示的路径。
例如,报告称/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/找不到该文件,我们就可以在新的终端中进行如下操作

sudo mv ippicv_linux_20151201.tgz /opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e 

之后可以新建终端,重新进行cmake

如果提示

-- Configuring done
-- Generating done 
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值