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

《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——1. 启航:你的第一个工业视觉应用

目录

  • 一、概述
    • 1.1 背景介绍:为工业生产线装上“智能之眼”
    • 1.2 项目目标
    • 1.3 技术栈
    • 1.4 代码链接
  • 二、环境安装
    • 2.1 安装Qt 6和Qt Creator
    • 2.2 安装 Visual Studio Community
    • 2.3 环境验证
  • 三、创建项目
    • 3.1 创建Qt Quick项目
    • 3.2 设置应用程序图标
      • 3.2.1 设置窗口图标 (The Window Icon)
      • 3.2.2 设置可执行文件图标 (The Executable Icon)
  • 四、总结与展望

一、概述

1.1 背景介绍:为工业生产线装上“智能之眼”

在“工业4.0”和“中国制造2025”的浪潮下,传统制造业正经历着深刻的数字化、智能化转型。其中,机器视觉技术扮演着至关重要的角色,它如同生产线上不知疲倦、精度恒定的“智能之眼”,能够自动完成产品的质量检测、尺寸测量和定位引导。

本项目将聚焦于机器视觉最核心的应用——瑕疵检测。我们将从零开始,完整地构建一款与工业相机配套的桌面软件。这款软件将能够实时分析摄像头捕获的图像,并利用强大的AI算法,自动识别出像螺丝这类精密元器件表面的微小瑕疵,如划痕、锈斑或损伤,从而取代传统、低效的人工目检,实现生产质量控制的自动化。

1.2 项目目标

本系列文章的核心任务是带领读者完成一个功能完备的AI工业视觉检测软件,它最终将具备:

  1. 现代化UI:使用Qt Quick技术,创建一个简洁、美观、响应迅速的用户界面。
  2. 实时视频处理:稳定接入并显示USB摄像头的实时视频流。
  3. AI智能检测:集成自行训练的YOLOv8深度学习模型,实现对多种瑕疵的快速、准确识别。
  4. 硬件联动模拟:通过串口与模拟的PLC(可编程逻辑控制器)通信,接收指令并反馈结果。
  5. 数据上报:将检测数据通过HTTP协议上报给模拟的MES(制造执行系统)服务器。
  6. 专业软件交付:能够打包成可在Windows、Linux及国产操作系统上运行的专业安装包,并具备在线自动更新功能。

1.3 技术栈

  • 框架:Qt 6.9.1 (在安装组件中,务必勾选 MSVC 2022、Qt Quick、Qt Multimedia、Qt Serial Port 和 Qt Charts)
  • 语言:C++
  • 构建系统:CMake
  • 编译器:MSVC (Visual Studio 2022)
  • 图像库:OpenCV
  • 开发工具:Qt Creator
  • 开发系统:Windows

1.4 代码链接

本系列项目源码将逐步更新,可从以下网址下载:https://github.com/qianbin1989228/Qt6_Industrial_AI_Vision_Tutorial 。

下面,正式进入研发环节。

二、环境安装

2.1 安装Qt 6和Qt Creator

1.下载开源版安装软件

打开浏览器,访问Qt官方网站,导航至开源版本的下载页面https://www.qt.io/download-open-source,下载并运行Qt Online Installer for Windows(x64),如下图所示:

在这里插入图片描述
2.运行在线安装程序

双击运行后进入登录界面,按照要求输入对应的Qt账户名和密码即可,如下图所示。如未注册过Qt账户,则按照提示先进行账户注册再登录。
在这里插入图片描述
3.安装选项

在“安装选项”界面,选择对应的Qt安装目录(路径中不得包含中文或特殊符号),然后依次勾选开发工具和自定义安装,如下图所示:
在这里插入图片描述
4.自定义

在“自定义”组件页面,此为最关键的步骤:

  • (1)在顶部的Qt版本列表中,选择一个最新的稳定版,例如Qt 6.9.1。展开该版本,务必勾选MSVC 2022 64-bit。在Additional Libraries分类下,勾选Qt Multimedia、Qt Serial Port和Qt Charts。如果空间充裕,可以将Additional Libraries下的组件全部勾选,如下图所示:
    在这里插入图片描述
  • (2)展开下方的Build Tools分类,确保CMake和Ninja已被勾选。
  • (3)最后,展开Qt Creator,将其全部勾选上。如下图所示。
    在这里插入图片描述
  • (4)单击“下一步”,同意许可协议,然后启动安装。

这里需要解释为何选择MSVC?

在Windows平台,MSVC是微软官方的C++编译器,它与Windows操作系统以及各类第三方预编译库(例如后续将要集成的OpenCV)拥有最佳的二进制兼容性,可有效规避许多潜在的编译与链接问题。

2.2 安装 Visual Studio Community

由于前文Qt编译器选择了MSVC,因此需要安装MSVC的提供者——Visual Studio。
(1)访问Visual Studio官方网站https://visualstudio.microsoft.com/。
(2)下载并运行Visual Studio Community 2022(社区版免费)的安装程序。
(3)在“工作负荷”选择界面,务必勾选“使用C++的桌面开发”选项,然后执行安装,如下图所示。
在这里插入图片描述

2.3 环境验证

所有安装完成后,启动Qt Creator。导航至菜单栏的“编辑”->Preferences->“构建套件(Kits)”。如果在列表中能看到一个名为Desktop Qt 6.9.1 MSVC2022 64bit(具体版本号可能略有不同)的构建套件,且其前方没有任何红色的感叹号或错误图标,则表明开发环境已成功配置,如下图所示:
在这里插入图片描述

三、创建项目

3.1 创建Qt Quick项目

  1. 打开Qt Creator,选择 文件 -> New Project...
  2. 模板选择: 在弹出的窗口中,选择 Application (Qt) -> Qt Quick Application
  3. 项目命名: 项目名称设为 ScrewDetector,选择一个不含中文或特殊字符的创建路径。
  4. 构建系统:选择 CMake
  5. 构建套件(Kit): 勾选 Desktop Qt 6.9.1 MSVC2022 64bit的Release。
  6. 完成向导:一路点击“下一步”,完成项目创建。

在这里插入图片描述

创建完成后,按Ctrl+R运行程序,初始效果为一个空白的"Hello World"窗口,如下图所示:
在这里插入图片描述
打开Main.qml,可以对窗体标题、大小和背景色进行初步美化:

import QtQuickWindow {width: 960height: 720visible: truetitle: qsTr("AI螺丝瑕疵检测系统 V1.0")color: "#1e2a38" // 设置一个深色背景
}

修改后重新运行,效果如下:
在这里插入图片描述

3.2 设置应用程序图标

一个专业的应用程序需要有自己的图标。设置图标主要包括两个部分:

  1. 窗口图标:应用程序运行时,在窗口标题栏和任务栏上显示的图标。
  2. 可执行文件图标:在文件浏览器中看到的.exe文件的图标。

3.2.1 设置窗口图标 (The Window Icon)

第一步:准备图标文件

首先,需要一个.png格式的图标文件,因为它通用且支持透明背景。建议准备一张至少 256x256 像素的图片,命名为appicon.png。在项目根目录中创建一个icons文件夹,并将appicon.png文件拷贝进去。

资源推荐:可以从免费的图标素材网站 https://icons8.com/ 寻找合适的图标。

第二步:将图标添加到Qt资源系统
编辑项目根目录下的CMakeLists.txt文件,在末尾添加以下代码,将icons文件夹下的图片注册为Qt资源:

qt_add_resources(appScrewDetector "app_resources"PREFIX "/"FILESicons/appicon.png
)

第三步:在main.cpp中调用
打开main.cpp,添加QIcon头文件,并调用setWindowIcon函数:

#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QIcon> // 1. 添加头文件引用int main(int argc, char *argv[])
{QGuiApplication app(argc, argv);// 2. 在创建QGuiApplication对象后,设置窗口图标app.setWindowIcon(QIcon(":/icons/appicon.png"));QQmlApplicationEngine engine;// ... (后续代码保持不变)return app.exec();
}

现在重新编译并运行程序,会看到窗口的左上角和任务栏上已经显示了专属图标。
在这里插入图片描述

3.2.2 设置可执行文件图标 (The Executable Icon)

要让编译出的.exe文件也显示图标,需要一个.ico格式的文件,并创建一个资源脚本.rc文件。

第一步:转换图标格式
将之前的appicon.png转换为.ico格式。可以使用免费的在线转换网站,例如 https://www.ico51.cn/。转换完成后,将appicon.ico文件也拷贝到项目的icons文件夹下。

第二步:创建资源脚本文件(.rc)
在项目根目录(与CMakeLists.txt同级)下,手动创建一个名为logo.rc的文件,并用Qt Creator打开,输入以下内容:

IDI_ICON1 ICON DISCARDABLE "icons/appicon.ico"

第三步:将.rc文件添加到项目中
再次打开CMakeLists.txt,找到qt_add_executable函数,将logo.rc添加进去:

qt_add_executable(appScrewDetectormain.cpplogo.rc
)

重新编译项目。然后打开构建目录下的release文件夹,会发现appScrewDetector.exe的文件图标已经成功更换。
在这里插入图片描述

四、总结与展望

在本篇文章中,我们明确了整个系列的项目目标与技术选型,并完成了最关键的起步工作:成功搭建了专业的开发环境,创建了项目骨架,并为应用程序赋予了专业的视觉标识——窗口图标和文件图标。

虽然这只是万里长征的第一步,但一个配置正确的、外观专业的项目框架,将为后续所有功能的开发提供巨大的便利和信心。

软件的“颜值”固然重要,但其强大的“内芯”——C++后端逻辑,才是我们接下来要修炼的内功。在下一篇文章**【 《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——2. C++基础:构建程序的坚实骨架】**中,我们将深入C++的世界,掌握构建程序逻辑的基本功。

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

相关文章:

  • C/C++ 详谈结构体大小计算(内存对齐)
  • 基于 HAProxy 搭建 EMQ X 集群
  • vscode创建vue项目报错
  • 如何判断自己的电脑或主机是否支持DDR5内存?
  • Android 默认图库播放视频没有自动循环功能,如何添加2
  • MVC模式
  • vcruntime140_1.dll文件丢失?终极修复指南:从错误分析到修复全流程
  • Ubuntu 22.04 使用 Docker 安装 Redis 5 (安装包形式)
  • linux定时器使用
  • AD域控制器虚拟化的安全加固最佳实践
  • 从IR到DS的转化过程中,如何确保各阶段需求不偏离用户原始场景?有哪些验证方法?
  • 吴恩达 机器学习cs229-学习笔记-更新中
  • 动静态库原理与实战详解
  • Linux 721 创建实现镜像的逻辑卷
  • 网站域名备案和服务器有关系吗
  • 《电⼦元器件零基础⼊⻔》
  • 汽车售后诊断仪DoIP和CANBus诊断指令分析
  • Linux的磁盘存储管理实操——(中)——逻辑卷管理实战
  • Ubuntu 22.04编译安装Nginx 1.28
  • Docker实践:使用Docker部署blog轻量级博客系统
  • 我的NAS进化史:用1Panel和内网穿透把零配件变成远程中枢
  • 超详细解析:Java装箱与拆箱(附完整数据类型清单)
  • 在 HTTP GET 请求中传递参数有两种标准方式
  • 【Java】Spring的依赖注入理解,@Autowired用法
  • 网络数据分层封装与解封过程的详细说明
  • STM32 开发的鼠标:技术详解与实现指南
  • RBAC(Role-Based Access Control,基于角色的访问控制)介绍(一种通过角色来管理用户权限的访问控制模型)
  • 深入解析 SymPy 中的符号计算:导数与变量替换的实践指南
  • 【未限制消息消费导致数据库CPU告警问题排查及解决方案】
  • 司南评测体系全新升级,“五位一体”评估全链路关键能力