Ubuntu 18.04 LTS中cmake-gui编译opencv-3.4.16并供Qt Creator调用-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、安装opencv

1.下载opencv-3.4.16的源码并解压
2.在解压后的文件夹内新建文件夹build以及opencv_install
3.启动cmake-gui并设置

sudo cmake-gui

1设置界面中source及build路径
在这里插入图片描述
2点击configure选择第一个default项目即默认本地编译器
在这里插入图片描述
3设置prefix即安装路径
之前我在默认路径/usr/local/下已经安装交叉编译结果opencv-3.4.16-gcc-arm
这里我选择home文件夹
在这里插入图片描述
选择需要的库我采用默认的。
博文https://blog.csdn.net/zhiyuan2021/article/details/131407526给了两个建议
第一个建议是在CMAKE_BUILD_TYPE 值处输入RELEASE我查了一下默认采用release方式编译空着就行。
第二个建议是在OPENCV_EXTRA_MODULES_PATH中填写opencv_contrib的路径但我在configure时报错好像是名称重复。等后面需要的时候我再编译opencv_contrib吧。这次保留为空这样configure就可以通过了。
在这里插入图片描述
也就是说我没有采用这两个建议。

4依次点击configure, generate之后关闭cmake-gui

4.进入opencv-3.4.16内的build文件夹cmake-gui已经在其中生成了编译中间文件
执行

sudo make -j4

耐心等待结束

执行

sudo make install

完成opencv安装。
注意build文件夹不要删除后期如果删除本次安装的opencv-3.14.16可以再次进入它并执行

sudo make uninstall

5.设置 /etc/ld.so.conf.d/opencv.conf否则在第二部分Qt Creator编译OpenCV程序环节会出现如下错误

报错
…/lib/libopencv_core.so.3.4: cannot open shared object file: No such file or d…
原因是之前用cmake对opencv-3.4.16进行了交叉编译详见本人博客并设置了opencv.conf。
本地使用时的平台为x86_64因此需要修改 /etc/ld.so.conf.d/opencv.conf
参考博文https://blog.csdn.net/rong11417/article/details/103905794
修改后的opencv.conf:
在这里插入图片描述
注意交叉编译时需要再改一下opencv.conf中的路径。

二、Qt Creator运行opencv程序

安装qt及qt creator详见本人博文。

1.qt creator建立纯c++工程
在这里插入图片描述记得选择编译器为qmake否则工程中不会存在.pro文件后期为工程添加头文件和库的路径时麻烦
坑我之前选择了cmake工程中存在CmakeLists.txt我对它不熟没有搞清楚如何添加路径。此外网上大部分博文采用.pro文件的方式
在这里插入图片描述
2.在main.cpp中写入opencv的程序
在这里插入图片描述

#include <iostream>

using namespace std;
#include "opencv2/core/core.hpp"
#include "opencv2/opencv.hpp"
using namespace cv;

int main()
{
    Mat img = imread("/home/lyc/gcc-arm-projects/opencvTest1017_V2/plane.jpg");
    imshow("plane", img);
    waitKey(0);

    //cout << "Hello World!" << endl;

    return 0;
}

注意图片路径为绝对路径之前用"plane.jpg"方式报imshow的width和height为0的错误说明图片读取失败。

3.在.pro文件中设置包含的头文件和库的路径
在这里插入图片描述

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += \
        main.cpp

INCLUDEPATH += /home/lyc/Exe/opencv-3.4.16-for-x86_64/opencv_install/include \
               /home/lyc/Exe/opencv-3.4.16-for-x86_64/opencv_install/include/opencv \
               /home/lyc/Exe/opencv-3.4.16-for-x86_64/opencv_install/include/opencv2

LIBS += /home/lyc/Exe/opencv-3.4.16-for-x86_64/opencv_install/lib/libopencv_*
#LIBS += /home/lyc/Exe/opencv-3.4.16-for-x86_64/opencv_install/lib/lib*.so*

3.编译、运行工程
在这里插入图片描述
得到显示的图像
在这里插入图片描述至此记录结束

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Ubuntu