QT5调用OpenCV4

利用前面已经编译好的opencv4,我们下面将调用opencv4进行使用。

  • QT导入OpenCV4

    可以参照前面导入GSL的例子,首先我们制作一个包含OpenCV相关文件的文件夹(make install之后默认安装在install文件夹)

    • 制作pri文件

      # 宏定义项,指明采用OPENCVDEFINES += OPENCV4_DLL# 指明GSL库所对应的头文件所在目录
      INCLUDEPATH += $$PWD/include# 链接静态库
      #CONFIG += static
      # 指明依赖库关系
      LIBS += $$PWD/lib/libopencv_calib3d411.dll.a
      LIBS += $$PWD/lib/libopencv_core411.dll.a
      LIBS += $$PWD/lib/libopencv_dnn411.dll.a
      LIBS += $$PWD/lib/libopencv_features2d411.dll.a
      LIBS += $$PWD/lib/libopencv_flann411.dll.a
      LIBS += $$PWD/lib/libopencv_gapi411.dll.a
      LIBS += $$PWD/lib/libopencv_highgui411.dll.a
      LIBS += $$PWD/lib/libopencv_imgcodecs411.dll.a
      LIBS += $$PWD/lib/libopencv_imgproc411.dll.a
      LIBS += $$PWD/lib/libopencv_ml411.dll.a
      LIBS += $$PWD/lib/libopencv_objdetect411.dll.a
      LIBS += $$PWD/lib/libopencv_photo411.dll.a
      LIBS += $$PWD/lib/libopencv_stitching411.dll.a
      LIBS += $$PWD/lib/libopencv_video411.dll.a
      LIBS += $$PWD/lib/libopencv_videoio411.dll.a
      
    • 新建qt工程进行测试

      需要将opencv4文件夹放置工程目录下

      • 配置pro文件,导入opencv4.pri

      • 测试代码

        #include <opencv2/core.hpp>
        #include <opencv2/imgcodecs.hpp>
        #include <opencv2/highgui.hpp>
        using namespace std;
        using namespace cv;int main()
        {cv::Mat image = cv::imread("F:\\opencv-4.1.1\\doc\\opencv.jpg", IMREAD_COLOR);if (image.empty())printf("读取图片错误!");// create image window named "My Image"cv::namedWindow("My Image", WINDOW_AUTOSIZE);// show the image on windowcv::imshow("My Image", image);cv::waitKey(0);
        }
        
      • 编译运行:
        g++ test.cpp -I"E:\ScientificComputing\opencv4_install\include" -L"E:\ScientificComputing\opencv4_install\lib" -llibopencv_core420 -llibopencv_dnn420 -llibopencv_highgui420 -llibopencv_imgcodecs420 -llibopencv_imgproc420 -llibopencv_objdetect420 -llibopencv_video420 -llibopencv_videoio420 -llibopencv_features2d420 -llibopencv_calib3d420 -llibopencv_gapi420 -llibopencv_photo420 -llibopencv_flann420
        发现程序异常结束,进入生成程序所在目录进行查看,命令行执行,发现找不到动态库,

      • 添加opencv4动态库路径至系统环境变量(重启软件),或者拷贝至程序所在同级目录

测试发现opencv只能以动态库的形式进行使用,如果需要生成静态库,cmake需要指定参数-DBUILD_SHARED_LIBS=0

如果小伙伴们对文章内容有不理解的地方可以查看博主制作的相对应视频教程哦:
https://www.bilibili.com/video/av64273096

12-Qt5调用OpenCV4相关推荐

  1. win10下Qt5.12.3配置OpenCV4.5.3

    软件准备 64位win10系统 Qt 5.12.3 Cmake 3.21.1 OpenCV 4.5.3 Qt安装包下载 QT版本官方下载地址:http://download.qt.io/archive ...

  2. Qt5 和 OpenCV4 计算机视觉项目:1~5

    原文:Qt 5 and OpenCV 4 Computer Vision Projects 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 计算机视觉 译文集],采用译后 ...

  3. qt5调用python脚本 两次失败_Qt5调用Python脚本中的函数

    我有一个简单的Qt5项目,有一个按钮和一个文本字段,我也在项目中创建了一个py文件来检查如何从Qt调用python文件中的函数.在 虽然现在我卡住了:我有我的测试cpp.h和测试cpp.cpp,其中我 ...

  4. meshlab2016.12+qt5.8+vs2015+win10编译

    马上国庆了,抽点时间写一下部署帖子,方便记忆. meshlab可以去官网下载https://meshlab.en.softonic.com.这里直接有exe程序进行安装,如果不满足需求可以自己编译 m ...

  5. (12)调用门阶段测试

    1.构造一个调用门,实现3环读取高2G内存 2.在第一题的基础上进行修改,实现通过fq的方式返回到其他地址 3.在第一题的基础上进行修改,在门中再建一个门跳转到其他地址 要求:代码正常执行不蓝屏 1. ...

  6. Qt学习(12)——Qt5中的容器

    QVector QList QStringList QSet QMap 自定义类的排序 容器是通用类,用于将给定类型的项存储在内存中.C++有标准模板库(STL)有自己的容器.在Qt中可以使用Qt容器 ...

  7. 【Qt】Qt5.12版本编译Oracle驱动教程

    00. 目录 文章目录 00. 目录 01. Qt5.12安装 02. Qt安装注意事项 03. Qt版本和Oracle安装路径说明 04. Qt5.12编译Oracle驱动(使用MinGW 64位) ...

  8. QT调用大恒相机的开发教程

    Qt(5.12.10) 调用大恒相机,实时显示图像,并保存bmp文件 文章导读:相机为大恒相机,接口是USB3.0,水星系列产品.本项目采用Qt5.12.10版本编码,编译器为MSVC2017,ope ...

  9. python入门(13)获取函数帮助和调用函数

    Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数.可以直接从Python的官方网站查看文档: http://doc ...

  10. Oracle存储过程创建及调用(转)

    在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器.在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的.相对来说,数据库系统中的触发器也是一种存储 ...

最新文章

  1. C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)
  2. codevs 1183 泥泞的道路 二分+SPFA最长路
  3. html css盒子顶层,HTML学习之四CSS盒子
  4. java 线程组作用_Java线程组(ThreadGroup)使用
  5. Java 面向对象语言基础
  6. spark-sql建表语句限制_SparkSQL
  7. 学习template算法(template matching)以及改进(二)
  8. sdibt 1244类似于拓扑排序
  9. [Python] 堆叠函数 stack((a,b), axis=0)
  10. matlab半波整流怎么做,基于Matlab的单相半波可控整流电路的设计与仿真.doc
  11. 如何使用python自动化查四六级成绩
  12. Java 基础篇:第十九章:多线程
  13. 解决 win10系统zookeeper启动闪退分析
  14. 这才叫装机必备,这3款高质量电脑软件,内存满了也绝不卸载
  15. Vue-cli3更改项目logo图标
  16. MOOC(massive open online courses)
  17. 从PCB制造工艺参数到AD规则设置
  18. leetcode 1037. 有效的回旋镖(三点共线问题)
  19. 基于皮肤分割的磨皮算法
  20. 使用es的新姿势 2.x 5.x 6.x通用

热门文章

  1. 积分器-微分器-抽取器
  2. java线程(线程的概念,线程的状态)
  3. 将数字转换为中文大写(缩写)
  4. Digester简介和使用
  5. 两步搞定经验模态分解与离散小波变换
  6. 合并两个有序链表-递归
  7. html页面内容的收缩和展开效果,jquery简单实现网页层的展开与收缩效果
  8. Excel-快捷键的使用方法
  9. html 百度地图坐标拾取,百度地图坐标拾取系统
  10. Eclipse 设置注释模板