1,下载源文件
https://www.opencv.org/releases.html
$ unzip opencv-4.0.1.zip -d .
进入解压后的文件夹
$ cd opencv-4.0.1/
安装cmake和依赖库
$ sudo apt install cmake #如果已经安装过cmake,则该步骤省略
$ sudo apt install build-essential libgtk2.0-dev libswscale-dev libtiff5-dev libavcodec-dev libavformat-dev libjpeg-dev 创建一个编译文件夹build,并进入。
cmake一下
在cmake之前最好打开 ~/.bashrc,设置编译选项,因为如果电脑中已经存在交叉编译工具,默认cmake会选择交叉编译的工具进行编译:
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/ -D WITH_GTK=ON ..
会下载ippicv,需要等待比较长时间才能下载完成。
如果在cmake的参数中没有WITH_GTK也可以编译通过,但是在运行程序的时候会报:
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvShowImage
进行make编译,可能需要大约一小时,静静等待。
完成后 sudo make install完成安装
配置OpenCV编译环境
$ sudo vim /etc/ld.so.conf.d/opencv.conf
在该文件(可能是空文件)末尾加上:
/usr/local/lib
再执行以下命令使刚才配置的路径生效:
$ sudo ldconfig
最后添加一段测试小程序
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char **argv)
{
cv::Mat image;
image=imread("1.jpg");
if(!image.data)
{
cout<<"error";
return 0;
}
namedWindow("example");
cv::imshow("example",image);
cv::waitKey(0);
return 0;
}
使用 g++ main.cpp -o main `pkg-config --cflags --libs opencv` 来编译。注意:`是英文输入法下ESC下方那个“~”按键。