当前位置: 首页 > 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.xdnf.cn/news/1162927.html

相关文章:

  • 原型设计模式
  • GaussDB alter table的用法
  • 有关Mysql数据库的总结
  • 45.sentinel自定义异常
  • QGIS、ArcMap、ArcGIS Pro中的书签功能、场景裁剪
  • Vue过度与动画效果
  • 如何用 Z.ai 生成PPT,一句话生成整套演示文档
  • 用 STM32 的 SYSTICK 定时器与端口复用重映射玩转嵌入式开发
  • 用Java 代码实现一个简单的负载均衡逻辑
  • redis 如何优雅地进行键设计?
  • 数据结构之克鲁斯卡尔算法
  • 编译支持cuda硬件加速的ffmpeg
  • Vue 3 响应式原理详细解读【一】—— Proxy 如何突破 defineProperty 的局限
  • BEVformer个人理解与解读
  • LLaMA-Factory 微调可配置的模型基本参数
  • ASP .NET Core 8高效集成Redis缓存实战
  • 相机标定(非ROS相机)
  • Linux的相关指令
  • 中文分词模拟器 - 华为OD统一考试(Java 题解)
  • vxe-table 通过配置 ajax 方式自动请求数据,适用于简单场景的列表
  • 《RISC-V 导论:设计与实践》开源课件(附下载链接)
  • 【web自动化】-5- fixture集中管理和项目重构
  • MTSC2025参会感悟:大模型 + CV 重构全终端 UI 检测技术体系
  • OR条件拆分:避免索引失效的查询重构技巧
  • 计算机网络第四章(3)——网络层《IPV4(子网划分、子网掩码)》
  • 模型系列(篇一)-Bert
  • Python Locust库详解:从入门到分布式压力测试实战
  • 5道挑战题writup
  • 跨端分栏布局:从手机到Pad的优雅切换
  • 将 RustFS 用作 GitLab 对象存储后端