Linux ubuntu 装openCV,OpenCV - 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

像这样:

45c45b30385c1706226d2e104b1adbfb.png

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

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

编译结果为:

0c1117126c68564cd8b3e1c8f102dbe8.png

接下来,执行:

make -j8

得到的结果为:

bbb1b7f6c0b2e1fddfefbc69a3e8a45d.png

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

具体修改:

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

在第121行,将

af6c0f617aeaa27b4506b6f5cb41b75a.gif

//case SIFT:

// name = name + "SIFT";

// break;

//case SURF:

// name = name + "SURF";

// break;

c69563bcb24b0fad32d43e57341e231a.gif

改为

a4cb5b2361f5c85b3167e1cb39e47863.gif

//case SIFT:

// fd=xfeatures2d::SIFT::create();

// break;

//case SURF:

// fd=xfeatures2d::SURF::create();

// break;

e4905eda416611d20429770c743f8822.gif

在第248行,将

e38d3a105abc476fa8ef1965ca14e2cc.gif

//case SIFT:

// name = name + "SIFT";

// break;

//case SURF:

// name = name + "SURF";

// break;

e6137dcad1f9d6a9a6012ee95d25eb3d.gif

改为

054502d5e0b117fec7efa25079e1cdb3.gif

case SIFT:

de = xfeatures2d::SIFT::create();

break;

case SURF:

de = xfeatures2d::SURF::create();

break;

577618967f8e56c3d7c7222a530469e2.gif

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

编译结果为:

e0522d510cd1c07c822e86b680ea3dde.png

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

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

63cf76a0af5d571d9c70832705b9a4fa.png

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

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

import cv2

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

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

Java:我说使用的是IDEA,将opencv/build/lib目录设置在IDEA设置位jvm的运行空间即可。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值