https://github.com/opencv/opencv/releases 请下载opencv3.4.3 Source code(zip);
https://github.com/opencv/opencv_contrib/releases/tag/3.4.3 请下载opencv_contrib3.4.3 Source code(zip);
编译contrib主要是为了使用xfeatures2d中的API,角点检测、特征提取与匹配。
2.1安装依赖(ubuntu一般已经安装好,只是为了检查一下)
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
2.2解压
我这里并没有用命令解压,直接手动解压到 Downloads
1.将opencv-3.4.3文件夹复制到home,重命名为opencv;
2.再将opencv_contrib-3.4.3文件夹复制到opencv文件夹,重命名为opencv_contrib;
3.在opencv中新建一个build文件夹,作为编译目的路径,到此准备工作ok~如下图所示。
3.1安装cmake-gui(用图形界面编译安装不易出错,简介方便)
sudo apt-get install cmake-gui
安装好了之后,进入opencv文件打开终端进入cmake-gui图形界面
cmake-gui
3.2使用cmake-gui编译
1.设置好源路径和目的路径后,点击Configure(选择Unix Makefiles),然后点击finish。
2.Configure之后我们更改两个地方:
1)在CMAKE_BUILD_TYPE 值处输入RELEASE(若本身为Release则不用更改;这里说明一下,CMAKE_INSTALL_PREFIX为安装路径,系统默认为/usr/local,如若对ubuntu不熟悉,则不要更改,默认就好)。
2)在OPENCV_EXTRA_MODULES_PATH处加入opencv_contrib路径。
注意,不是选opencv_contrib文件夹,而是需要选中opencv_contrib里面的modules文件夹!
3.确认无误后,点击Configure;显示Configuring done后,点击Generate生成文件;这时资源文件就出现在build文件夹中,我们可以关闭cmake了。
3.3make并install
1.在opencv/build文件夹中打开终端,输入指令编译(此次时间漫长20分钟左右)。
sudo make
2.100%后,继续输入指令安装。
sudo make install
3.sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到。
sudo gedit /etc/ld.so.conf.d/opencv.conf
4.在文件中添加,然后保存关闭,提示的错误不用管它。
/usr/local/lib
5.执行命令,使配置路径生效
sudo ldconfig
6.配置bash
sudo gedit /etc/bash.bashrc
7.在文件最后加入两行,然后保存。
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
8.执行命令,使配置路径生效
source /etc/bash.bashrc
9.更新系统路径
sudo updatedb
10.到此位置,我们的opencv+opencv_contrib配置完成,已经可以调用opencv库函数啦。
3.4测试
我们来测试一番吧~首先我们来到opencv/samples/cpp/example_cmake目录下,有一个opencv自带的测试cpp。
依次执行如下命令:(将调用摄像头并在窗口显示,有hello-world字样,上一张盛世无P美颜记录人生第一篇blog...)
cmake .
make
./opencv_example
如果已经有IDE的朋友们,就不需要看下一节了,下一节我再讲解Clion的安装+破解+opencv依赖项设置,第二节我明天更~
PS:1)至此opencv中build文件内容可以删除,占用了6G大小(因为我们已经将opencv编译安装至系统区了)。
2)给大家一个命令,查看自己opencv的路径及依赖项。
pkg-config --cflags --libs opencv