当前位置: 首页 > news >正文

OpenCV环境配置(QT 6.6.1 MSVC2019 64bit + OpenCV – 4.12.0)

前言

项目需求要做个类似Image2Lcd的软件,用来将图片转换为纯黑白的C语言数组格式保存,用来下发嵌入式端的屏幕显示。
这个需求应该是不太难的,直接用C语言读像素写点算法就能做,不过想到图像处理首先想到的技术还是OpenCV,于是准备用它来实现试试,顺便学习下这个库。

目前暂定技术路线:QT 6.6.1 MSVC2019 64bit + OpenCV – 4.12.0,都是目前比较新的环境。

MinGW和MSVC都可以配置OpenCV,但是OpenCV提供的安装包里是适配MSVC的版本,如果用MinGW需要重新编译源码。


一、OpenCV下载

https://opencv.org/releases/
顺便一提,官网直接下载非常慢,只有十几KB,挂个代理会快很多
在这里插入图片描述

二、安装和运行

1.运行exe

这个官方的exe包看着应该就是个压缩包,不是一般的那种软件安装包。
在这里插入图片描述
解压完成,得到了sources源码和build编译后的输出文件
在这里插入图片描述

2.QT项目配置

创建一个最简单的widget项目后。
右键项目,选择“添加库”,弹出如下窗口,选择“外部库”

选择安装路径下的opencv/buiold/x64/vc64/lib目录下的lib文件,其中以d结尾的是debug版本,无d结尾的是release版本,任选其一即可,另一个会自动被添加进来
在这里插入图片描述

在这里插入图片描述
此处以选择了debug版本为例子,勾选“移除release版本中的‘d’后缀”即可自动将release版本的添加至项目中

在这里插入图片描述
至此,在项目的.pro文件中会被添加如下的配置信息

win32:CONFIG(release, debug|release): LIBS += -LD:/OpenCV/opencv/build/x64/vc16/lib/ -lopencv_world4120
else:win32:CONFIG(debug, debug|release): LIBS += -LD:/OpenCV/opencv/build/x64/vc16/lib/ -lopencv_world4120dINCLUDEPATH += D:/OpenCV/opencv/build/x64/vc16
DEPENDPATH += D:/OpenCV/opencv/build/x64/vc16

还需要手动为项目配置include路径和bin路径,参考如下:
其中build/include为各头文件所在位置;
/build/x64/vc16/bin/为动态库dll文件所在位置;
下面的参考代码中dll所在位置被注释起来是因为不太推荐这样直接添加,因为在编译阶段是不读取动态库的,容易出现警告,不过不影响项目使用。

win32:CONFIG(release, debug|release): LIBS += -LD:/OpenCV/opencv/build/x64/vc16/lib/ -lopencv_world4120
#                                               \ -LD:/OpenCV/opencv/build/x64/vc16/bin/ -opencv_worl4120.dll
else:win32:CONFIG(debug, debug|release): LIBS += -LD:/OpenCV/opencv/build/x64/vc16/lib/ -lopencv_world4120d
#                                               \  -LD:/OpenCV/opencv/build/x64/vc16/bin/ -opencv_worl4120d.dllINCLUDEPATH += D:/OpenCV/opencv/build/x64/vc16  \D:/OpenCV/opencv/build/includeDEPENDPATH += D:/OpenCV/opencv/build/x64/vc16   \D:/OpenCV/opencv/build/include

上文提到不太推荐在pro中写动态库位置,以下是一般的配置动态库的方法:
在右键“此电脑”–>属性–>“高级系统设置”–>环境变量–>系统变量里的“PATH”–>新建一条dll库所在的路径–>退出时所有界面需要点击确定,确保环境变量配置成功。
配置完bin文件夹所在的路径后,QT可能需要重启一下,让它重新读取系统的环境变量。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


3.测试OpenCV

以上完成配置后,需要测试一下释放成功配置了OpenCV
简单修改了下widget项目的main函数来调用openCV,
其中“cv::”后的三句代码是OpenCV测试的代码,打开了一张bmp图片并显示它,
其余为QT项目的基础代码。

#include "mainwindow.h"#include <QApplication>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>using namespace cv;int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;cv::Mat image = cv::imread("E:/2025/1P/Elink/EpaperDisplayControl/EpaperDisplayControl/img/triangle.bmp");cv::namedWindow("Test Image");cv::imshow("Test Image", image);w.show();return a.exec();
}

测试效果如下,顺利添加了一个窗口显示图片:
在这里插入图片描述

http://www.dtcms.com/a/568735.html

相关文章:

  • 用zookpeer搭建Hadoop的HA集群,组件启动的启动顺序是什么?
  • 中国石油西北化工聚丙烯产品首次出口非洲
  • Node.js 自动替换脚本工具:一键完成多项目批量修改与资源替换
  • 【智能手表篇】基于Handdle AI的台式电脑一体机Housing外观缺陷检测方案
  • 域名申请了怎么做网站高级搜索百度
  • 北京 网站策划公司c2c模式类型
  • 【零基础学MySQL】第十五章:分库分表
  • Android Gradle 的 compileOptions 与 Kotlin jvmTarget 全面理解(含案例)
  • K8s Pod生命周期完全指南
  • 生成式搜索不识你?用GEO重建识别路径
  • CSP-J教程——第一阶段——第四课:算术与逻辑运算
  • k8s——pod控制器详解
  • k8s --- resource: Pod, ReplicaSet and Deployment
  • App 上架需要什么?从开发者账号到开心上架(Appuploader)免 Mac 上传的完整流程指南
  • 高端定制网站网站建设建设多少钱
  • 写SCI论文需要用到的工具这了
  • WebFlux 执行流程与背压机制剖析
  • wordpress4.9+多站点WordPress购物按钮
  • 深入解析Kubernetes中的Ephemeral Containers:故障诊断的“急救针”
  • 安卓二次打包技术深度拆解:从逆向篡改到防护逻辑
  • 蚱蜢算法原理,公式,应用案例GOA-BP
  • Android 开发问题:resource style/Theme.Material3.DayNight.NoActionBar not found.
  • 基于有限差分法的二维边值问题数值分析
  • 简单的网站维护资阳全搜索app
  • 微服务 - 网关统一鉴权
  • 八股已死、场景当立(场景篇-微服务保护篇)
  • 视觉差的网站长沙企业网站排名优化
  • 【代码随想录算法训练营——Day58】图论——117.软件构建、47. 参加科学大会
  • TDengine 字符串函数 CHAR_LENGTH 用户手册
  • Jupyter选择内核时如何找到虚拟环境