您的位置:首页 > 运维架构

Ubuntu16.04+Opencv3.3的安装教程

2017-08-10 11:17 579 查看
需要准备的基本材料(请先看完整个安装过程再进行下面的操作):

一、到Opecv-Release的Github项目上下载最新的Opencv版本,注意---基于python2.7,可选用 OpenCV2.3/2.4 以及 OpenCV3.X,我们选取版本3.3:

下载地址:https://github.com/opencv/opencv/releases/tag/3.3.0



二、安装GUN GCC编译器,对于Ubuntu16.04版本的Linux操作系统这款编译器是自带的

三、安装Cmake跨平台编译工具(CMake 可以编译源代码、制作程序库、产生适配器(wrapper)、还可以用任意的顺序建构执行档)安装的方法:sudo apt-get install cmake


我已经安装好了,就提示无需更新,无需安装

四、安装python2.7,在ubuntu中一般来说是自带python2.7的,如果没有安装,请参看博客中其他的教程

五、安装numpy,在安装好python之后建议您安装pip,安装完pip之后就可以使用pip来安装各种各样的库了,pip install numpy


我已经安装好了,就提示无需更新,无需安装

六、安装pkg-config指令(注意,这里的安装很重要,例如libgtk2.0-dev软件包涉及到了opencv中的imshow等窗口调用能否使用的问题):

sudo apt-get install pkg-config libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev


开始安装Opencv For Python:

1、找到下载的Opencv3.3的目录:



2、执行下面的指令(在执行指令的过程之前,我们可以切换到su超级权限下进行操作):

tar -xzvf opencv-3.3.0.tar.gz
cd opencv-3.3.0/
cd ..
mkdir my_build_dir
cd my_build_dir
cmake ../opencv-3.3.0 -DWITH_GTK_2_X=ON -DCMAKE_INSTALL_PREFIX=/usr/local
make    # make -j4表示开4个线程来进行编译
make install


解压之后的opencv-3.3.0的目录:



Cmake的过程和结果如下:





建立的my_build_dir经过 cmake ../opencv-3.3.0 -DWITH_GTK_2_X=ON -DCMAKE_INSTALL_PREFIX=/usr/local之后的结果



在my_build_dir中执行make和make install即可

编写代码:



运行结果:



安装过程之中碰到的问题:

"FATAL: In-source builds are not allowed.
You should create separate directory for build files."

意思就是说不要在源代码内部直接编译程序,以免污染源代码,所以在opencv-2.4.13目录之外建立文件夹my_build_dir,然后在这个目录里面执行cmake。

详细问题参照下面的链接:

https://stackoverflow.com/questions/45518317/in-source-builds-are-not-allowed-in-cmake

Ubuntu下卸载重装Opencv的教程参考:

http://www.cnblogs.com/txg198955/p/5990295.html

注:安装之后可能遇到的问题





简单的意思就是调用了window相关的程序,但是没有安装GTK相关的包,函数function不能实现,需要安装libgtk2.0-dev 和 pkg-config。

如果没有使用到opencv的显示接口的话,基本的opencv的函数是能够使用的,在通过numpy的相关的数学运算包转化一下数据格式就可以使用matlibplot等包显示输出图像了。

如果想解决上述的问题,就一定记得安装libgtk2.0-dev和pkg-config之后在cmake ---》make ---》 make install.Opencv就行了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: