一、准备
下载opencv源码
1.git clone https://github.com/opencv/opencv.git
2.可以通过下载zip包的方式、
安装cmake g++等编译工具
切换到root用户下,并安装编译工具链
apt install cmake3 cmake3-qt-gui g++ libgtk2.0-dev
解压源码
unzip opencv-master.zip
二、配置并编译
首先,在opencv目录下配置两个文件夹,build和install
build用来保存中间编译生成的临时文件
install用来保存最终安装的文件
打开终端切换到bulid目录下,
然后执行配置命令
cmake ..
接下来,修改安装路径
cmake-gui ..
重新configure 并generate
在终端里编译
make -j8
编译完成后进行安装,如果没有错误能跑到100%
sudo make install
执行完后,可在安装目录看到4个文件夹
三、测试
写一个图片显示的程序
从opencv中文网下载测试图片
把图片和源码放在同一个文件夹下
编写代码
#include <iostream>
#include <string>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
string imagename = "lena.jpg";
Mat img = imread(imagename);
if(img.empty())
{
cout<<"read error"<<endl;
return 0;
}
namedWindow("PAM18035",1);
imshow("PAM18035", img);
waitKey(10000);
return 0;
}
接下来,进行编译
g++ main.cpp -std=c++11 -I /home/syc/Desktop/opencv/opencv-master/install/include/opencv4/ -L /home/syc/Desktop/opencv/opencv-master/install/lib/ -lopencv_stitching -lopencv_objdetect -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core
编译完成后会生成一个a.out可执行文件
接下来,终端编辑
sudo gedit /etc/ld.so.conf.d/opencv.conf
将opencv动态库所在的路径加到文件里,保存退出
在终端内运行ldconfig 重新加载动态库
sudo ldconfig
最后再运行./a.out即可看到效果