opencv java ubuntu_Ubuntu16.04安装OpenCV

本文详细介绍了在Ubuntu16.04上安装OpenCV3.2.0的步骤,包括依赖包安装、下载与解压OpenCV及其contrib模块、cmake配置、解决编译过程中遇到的问题(如超时、库找不到等)以及最终的安装和Python接口测试。在安装过程中提到了解决OpenBLAS、Doxygen、JNI、Java环境等问题的方法。
摘要由CSDN通过智能技术生成

1.安装 opencv 所需依赖包

如果后面还要遗漏的,出错再补上

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264v4l-utils unzip

2.下载 opencv3.2.0

这里需要下载 opencv 和 opencv_contrib (后者会在 cmake 配置的时候用到), 这是因为 opencv3以后 SIFT 和 SURF 之类的属性被移到了 contrib 中,执行下面两条指令下载 OpenCV3.2.0

(3.2.0.zip就是opencv-3.2.0.zip)

(3.2.0.zip.1就是opencv_contrib.zip)

3.解压下载的两个文件

$ unzip opencv-3.2.0.zip -d ~/opencv

$ unzip opencv_contrib-3.2.0.zip -d ~/opencv

4.创建并进入 build 目录,执行 cmake 生成 makefile 文件

$ cd ~/opencv/opencv-3.2.0

$ mkdir build

$ cd build/

$ sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH= ..

注意cmake的参数不要出错

问题一:

下载包的时候链接超时

CMake Error at 3rdparty/ippicv/downloader.cmake:77 (message):

ICV: Failed to download ICV package: ippicv_linux_20151201.tgz.

Status=28;"Timeout was reached"

$ sudo cp ~/software/opencv/ippicv_linux_20151201.tgz ~/opencv/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/

问题二:

-- No package 'gtk+-3.0' found

$ sudo apt-get install libgtk-3-dev

问题三:

-- No package 'gstreamer-base-1.0' found

-- No package 'gstreamer-video-1.0' found

-- No package 'gstreamer-app-1.0' found

-- No package 'gstreamer-riff-1.0' found

-- No package 'gstreamer-pbutils-1.0' found

sudo apt-get -y install libgstreamer-plugins-base1.0-dev

sudo apt-get -y install libgstreamer1.0-dev

问题四:

-- No package 'libavresample' found

-- No package 'libgphoto2' found

$ sudo apt-get -y install libavresample-dev

$ sudo apt-get -y install libgphoto2-dev

问题五:

-- 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

$ sudo apt-get install libopenblas-dev

问题六:

-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)

$ sudo apt-get install doxygen

问题七:

-- Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)

b.安装jdk

$ cd download/

$ sudo mkdir /usr/local/java

$ sudo tar zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local/java

$ sudo ln -s /usr/local/java/jdk1.8.0_151/ /usr/local/java/latest

c. 添加环境变量:

$ sudo vim /etc/profile

加入如下内容:

>export JAVA_HOME=/usr/local/java/latest

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

执行

$ source /etc/profile

进行更新。

没有报错的情况下,cmake成功后会出现

-- Configuring done

-- Generating done

-- Build files have been written to: /home/fc/opencv/opencv-

3.2.0/build

5. make

cmake成功,之后可以在 build 文件下执行编译指令,待编译成功后即可执行安装指令。

$ sudo make -j4

出错:

/opencv/opencv-3.2.0/build/opencv_lapack.h:2:45: fatal error: LAPACKE_H_PATH-NOTFOUND/lapacke.h: 没有那个文件或目录

解决方法:

$ sudo apt-get install liblapacke-dev checkinstall

make时间有点长,差不多两个小时了。

6.install

$ sudo make install

7.安装 python 接口依赖

$sudo apt-get install python-opencv

sudo apt-get install python-numpy

8.测试 Python 的 OpenCV3.2.0 模块

$ python

Python 2.7.14 |Anaconda, Inc.| (default, Oct 16 2017, 17:29:19)

[GCC 7.2.0] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import cv2

Traceback (most recent call last):

File "", line 1, in

ImportError: No module named cv2

>>>

问题:No module named cv2

原因在于 python2.7 找不到 cv2.so 文件

$ sudo cp ~/opencv/opencv-3.2.0/build/lib/cv2.so ~/anaconda2/lib/python2.7/site-packages/

再测试:

$ python

Python 2.7.14 |Anaconda, Inc.| (default, Oct 16 2017, 17:29:19)

[GCC 7.2.0] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import cv2

>>> cv2.__version__

'3.2.0'

>>>

能显示opencv的版本说明安装成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值