Linux(Ubuntu 16.04)中安装OpenCV + OpenCV_Contrib

  近两个月来接触了Linux系统,在老板的建议下翻了Ubuntu的牌子,我安装的版本是16.04,用习惯之后感觉蛮好的,比Windows要强。好啦,废话不说啦,下面开始说在Ubuntu中安装OpemCV+OpenCV_Contrib。

  首先,准备一下开发环境:

  • Ubuntu 16.04 64位
  • cmake
  • ant
  • jdk
  • git
  • python

  接下来,从github中down下OPenCV + OpenCV_Contrib库,可以从https://github.com/opencv上下载(注意版本对应),也可以通过指令下载(建议使用):

git clone https://github.com/Itseez/opencv.git
git clone https://github.com/Itseez/opencv_contrib.git

  这个过程需要等待一段时间,具体依赖与你的网速啦,下载成功后,可以在你的home目录下看见opencv和opencv_contrib两个文件夹,将opencv_contrib目录移到opencv目录下。

  在下载的过程中,我们可以添加opencv所需要的依赖库:

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

  以上步骤完成后,我们进入opencv目录,创建build目录:

mkdir build

  像这样:

    

  进入build目录,开始编译,执行(注意后面的两个点不能少):

cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

  编译结果为:

    

  接下来,执行:

make -j8

  得到的结果为:

    

  到了这个时候,如果仅仅只需要在python或者C中使用OpenCV,就可以直接执行下一步了,如果需要在java中使用OpenCV,需要修改一些源文件。编辑features2d_manual.hpp文件,目录文件在/modules/features2d/misc/java/src/cpp中。

  具体修改:

  • 在第8行,在#include "features2d_converters.hpp"添加#include "opencv2/xfeatures2d.hpp"
  • 在第121行,将

    //case SIFT:
    //    name = name + "SIFT";
    //    break;
    //case SURF:
    //    name = name + "SURF";
    //    break;

    改为

    //case SIFT:
    //    fd=xfeatures2d::SIFT::create();
    //    break;
    //case SURF:
    //    fd=xfeatures2d::SURF::create();
    //    break;
  • 在第248行,将

    //case SIFT:
    //    name = name + "SIFT";
    //    break;
    //case SURF:
    //    name = name + "SURF";
    //    break;

    改为

    case SIFT:
        de = xfeatures2d::SIFT::create();
        break;
    case SURF:
        de = xfeatures2d::SURF::create();
        break;
  • 在第257行,将

    //case BRIEF:
    //    name = name + "BRIEF";
    //    break;

    改为

    case BRIEF:
        de = xfeatures2d::BriefDescriptorExtractor::create();
        break;
  • 在第263行,将

    //case FREAK:
    //    name = name + "FREAK";
    //    break;

    改为

    case FREAK:
        de = xfeatures2d::FREAK::create();
        break; 

  修改完毕。

  接下来,执行:

sudo make install

  编译结果为:

    

  这样,我们就可以在Ubuntu中使用OPencv了,适用于各种语言。

  我们可以在/usr/local/lib下看见opencv编译的结果:

    

  

  最后,简单说一下在各个语言下的使用:

  • python:直接导入cv2的库就可以啦

    import cv2

    这里面编译的时候要注意python2和python3的区别,python2编译的opencv在python3中是不可以使用的

  • C++:我使用的是QT,在pro文件中添加

    INCLUDEPATH +=         /usr/local/include         /usr/local/include/opencv         /usr/local/include/opencv2
    LIBS +=     /home/fanxuan/opencv/build/lib/libopencv_java331.so \  
  • Java:我说使用的是IDEA,将opencv/build/lib目录设置在IDEA设置位jvm的运行空间即可。

  最后的最后,老样子,代码没有啦,大家可以看一下opencv自带的例子,或者转到www.baidu.com或者github.com

  感谢外国友人https://elbauldelprogramador.com/en/how-to-compile-opencv3-nonfree-part-from-source/博客在我探索过程中给我带来的帮助。

原文地址:https://www.cnblogs.com/fx-blog/p/8213704.html

时间: 2024-08-08 12:04:22

Linux(Ubuntu 16.04)中安装OpenCV + OpenCV_Contrib的相关文章

Ubuntu 16.04中安装tftp

引用自:https://www.linuxidc.com/Linux/2016-07/133255.htm Ubuntu 16.04中安装tftp 1. 安装 $ apt-get install tftp-hpa tftpd-hpa 2. 建立目录 $ mkdir /tftpboot # 这是建立tftp传输目录. $ sudo chmod 0777 /tftpboot $ sudo touch test.txt # test.txt文件最好输入内容以便区分 3. 配置 # vi /etc/de

在 Ubuntu 16.04 中安装谷歌 Chrome 浏览器

进入 Ubuntu 16.04 桌面,按下 Ctrl + Alt + t 键盘组合键,启动终端. 也可以按下 Win 键(或叫 Super 键),在 Dash 的搜索框中输入 terminal 或“终端”字样,Dash 即返回终端的结果,回车即可启动. 2 在终端中,输入以下命令: sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/ 将下载源加入到系统的源列表.命令的反馈结果如

Ubuntu 16.04中安装谷歌Chrome浏览器

1.进入 Ubuntu 16.04 桌面,按下 Ctrl + Alt + t 键盘组合键,启动终端. 2.在终端中,输入以下命令: sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/ 将下载源加入到系统的源列表 3.在终端中,输入以下命令: wget -q -O - https://dl.google.com/linux/linux_signing_key.pub  | sud

(转)如何在Linux Ubuntu 16.04下安装及打开PyCharm

首先需要下载Pycharm,如果是刚刚装好的虚拟机,不能正常上网访问网页的话可移步虚拟机连接网络:https://blog.csdn.net/qq_38786209/article/details/79997301 下载 在linux系统下打开网址: http://www.jetbrains.com/pycharm/download/#section=linux,选择社区版,保存文件,即可开始下载. 安装 PyCharm 下载好的文件的名称可能是 'pycharm-community-2017.

Ubuntu 16.04下安装64位谷歌Chrome浏览器

最近把Ubuntu系统更新到16.04,发现自带的Firefox浏览器有一些问题,但是懒得安装插件,折腾已知的问题,于是决定安装Chrome看看,果然,很多问题没有了. 因为安装的Linux是64位的Ubuntu 16.04系统,所以本人决定也安装64位的谷歌Chrome浏览器.在 Ubuntu 16.04 中,要想使用谷歌的 Chrome 浏览器,可以通过命令行的方式手动安装. Ubuntu 16.04中安装Chromium浏览器  http://www.linuxidc.com/Linux/

Ubuntu 16.04中iptables的工具简介(iptables/iptables-restore/iptables-xml/iptables-apply/iptables-save)

Ubuntu 16.04中安装的iptables版本为1.6.0,官方参考:http://www.linuxfromscratch.org/blfs/view/cvs/postlfs/iptables.html,对于一些更详细的用法可以使用man iptables进行参考. iptables 用于建立,维护和检查Linux内核中IP包过滤规则的表格. iptables-restore 用于从STDIN指定的数据恢复IP表. 使用shell提供的I/O重定向从文件读取. iptables-save

Ubuntu 16.04 LTS安装好之后需要做的15件事

看到这篇文章说明你已经从老版本升级到 Ubuntu 16.04 或进行了全新安装,在安装好 Ubuntu 16.04 LTS 之后建议大家先做如下 15 件事.无论你是刚加入 Ubuntu 行列的新用户,还是有经验的老用户,你都会发现一些非常有用的调整和建议. 1.了解Ubuntu 16.04 LTS新特性 新选项!新应用程序!新内核!新的…… 所有东西都是新的! Ubuntu 16.04 LTS 带来了一些让人兴奋的新功能和变化,所以在开始使用之前建议各位一定要花几分钟熟悉一下新的改进. 如果

Ubuntu 16.04上安装SkyEye及测试

说明一下,在Ubuntu 16.04上安装SkyEye方法不是原创,是来自互联网,仅供学习参考. 1.检查支持软件包 gcc,make,vim(optional),ssh,subversionbinutils-dev (bfd)atk-dev (libatk1.0-dev)gtk+-2.0-dev (libgtk2.0-dev)pkg-configpango-dev (libpango1.0-dev)freetype2-dev (libfreetype6-dev)glib-dev (libgli

怎样在Ubuntu 14.04中安装Java(转)

想知道如何在Ubuntu 14.04中安装Java?安装Java肯定是安装Ubuntu 14.04后首先要做的几件事情之一(见http://www.linuxidc.com/Linux/2014-04/100398.htm),而且这也很简单. 许多人比较厌恶Java,但是很有可能因为某些原因你需要安装Java,尽管你很讨厌它.在这篇文章中,我们将展示如何在Ubuntu 14.04安装Java(也可能在Linux Mint 17同样适用). JRE vs OpenJDK vs Oracle JDK

点滴记录——Ubuntu 14.04中安装Sublime Text 3并使用SublimeClang插件

转载请说明出处:http://blog.csdn.net/cywosp/article/details/32721011 Sublime Text是个跨平台的编辑器,支持Windows.Linux.Mac系统平台,支持各种语言的代码编辑,配合上对应的插件,话上点时间学习,你将会对它爱不释手,大大的提高你的编码效率.本文将讲解在Ubuntu 14.04系统中安装SublimeText 3,并配置SublimeClang插件来配置C/C++开发环境. 1. Sublime Text 3的下载安装 到