准备工作
安装一些库(g++环境和OpenCV可适应环境)
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libgtk2.0-dev libv4l-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libdc1394-22-dev libandroid-properties1:i386 libhybris-common1:i386 gstreamer*
安装cmake工具
sudo apt-get install cmake-gui
获取源码
https://opencv.org/releases.html
基本上3.4.x的版本加上了深度学习和机器学习相关的内容。
配置编译
1、解压
2、打开OpenCV目录新建release存放编译库
3、命令行输入cmake-gui启动界面
选择好两个目录,一个源目录,一个编译目录
点击configure 选Unix Makefiles其余默认
4、配置好后若要添加库再配置一遍
比如安装拓展库,拓展库也可放在OpenCV主目录下
在OPENCV_EXTRA_MODULE_PATH栏选择拓展库模块位置/xxx/opencv-3.4/opencv_contrib-3.4/modules
注:选择3.4.0的OpenCV源码就要选择3.4.0的拓展库,不然可能编译不上。拓展库可去GitHub找https://github.com/opencv/opencv_contrib/tree/3.4.0
5、在BUILD_opencv_world后面打√
6、点击generate生成Makefile文件
7、在release目录下执行make
编译结束后再bulid的lib目录下生成*.so库文件
8、在release目录下sudo make install
库文件装到了/usr/local/lib下
9、进行一些配置
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig # 使配置生效
sudo gedit /etc/bash.bashrc
在文件的末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存
sudo source /etc/bash.bashrc # 使配置生效
测试
1、打开中端,新建cpp文件,输入测试代码
#include <iostream>
#include <opencv2/opencv.hpp> //opencv3.x头文件
using namespace std;
using namespace cv;
int main()
{
Mat srcImage = imread("/xxx/1.jpg"); //选择图片目录
imshow("srcIMage",srcImage);
waitKey(0); //显示停留等待用户操作,类似Qt
return 0;
}
2、编译OpenCV
方式一:
g++ `pkg-config opencv --cflags` opencv.cpp -o opencv `pkg-config opencv --libs`
方式二:
简单点新建Makefile文件
makefile文件内容
testopencv:main.cpp
g++ $< -o [email protected] -lopencv_world
比普通c++程序多链接了一个动态库。
卸载
非图形编辑器界面的文件卸载通常按如下方法
sudo apt-get install checkinstall # 安装checkinstall工具,用来管理安装的文件,便于卸载
sudo checkinstall # 执行checkinstall,按照提示就行操作即可。
安装完后,在build文件下生成一个以backup开头的.tgz的备份文件和一个以build开头的.deb安装文件。
卸载当前的opencv,直接执行dpkg -r build