一、准备
下载opencv源码
1、git clone https://github.com/opencv/opencv.git
2、可以通过下载zip包的方式
安装cmake g++等编译工具
切换到root用户下,并安装编译工具链
apt install cmake3 cmake3-qt-gui g++
解压源码
unzip opencv-master.zip
二、配置并编译
首先,在opencv目录下配置两个文件夹,build和install
build用来保存中间编译生成的临时文件
install用来保存最终安装的文件
打开终端到build目录下
执行
cmake ..
然后执行配置命令
接下来修改安装路径,打上cmake.. 筛选框寻找install,修改安装路径
重新config和generate
在终端里运行编译,
make -j8
编译完成后进行安装,到100%安装完成
如果电脑配置版本过低,出现c++的错误,则只需要打make
make
安装完成接下来执行以下命令
sudo make install
执行完成后,可在安装目录看到四个文件夹
三、测试
写一个图片显示程序
把图片和源码放在同一个文件夹下
编写代码
#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())
{
return -1;
}
namedWindow("image",1);
imshow("image", img);
waitKey(10000);
return 0;
}
接下来进行编译
到C++目录下打开终端,输入以下指令,出现a.out
g++ main.cpp -std=c++11 -I /home/xan/Desktop/opencv-master/install/include/opencv4/ -L /home/xan/Desktop/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
在/home/xan/Desktop/opencv-master/install/lib打开一个终端,输入pwd复制地址
再输入
sudo gedit /etc/ld.so.conf.d/opencv.conf
再打开的文件夹,输入刚刚复制的地址,保存
然后在C++路径下的终端输入sudo ldconfig
执行指令
sudo apt install libgtk2.0-dev
然后切换到opencv的build目录下打开终端
cmake ..
然后再打
make -j8
进行编译后如遇到“C++”问题,则将上一步的make-j8改成make然后在进行重新编译
编译完成后,打上代码
sudo make install
然后在C++的路径下打开一个终端,重新编译一下
g++ main.cpp -std=c++11 -I /home/xan/Desktop/opencv-master/install/include/opencv4/ -L /home/xan/Desktop/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
即可出现lean图像