目录

  • 【《使用Qt Quick从零构建AI螺丝瑕疵检测系统》系列简介】
        • 第一部分:基础入门与项目启航
        • 第二部分:核心视觉算法开发
        • 第三部分:模拟完整工业流程
        • 第四部分:软件打包与高级特性

【《使用Qt Quick从零构建AI螺丝瑕疵检测系统》系列简介】

本系列是一个面向工业应用的Qt 6项目实战教程,使用Qt最新的QML技术。我们将从零开始,以博客文章的形式,手把手带您完整构建一个功能完备的AI视觉检测软件。内容覆盖QML界面、C++后端、OpenCV视觉处理、YOLOv8模型训练与部署,直至串口、HTTP通信和跨平台部署。每篇文章都是一个独立可复现的学习单元,旨在帮您掌握从算法研发到软件产品化的全栈能力,无缝对接企业级项目需求。

第一部分:基础入门与项目启航
  • 第1篇: 启航:你的第一个工业视觉应用

    • 核心内容: 介绍项目目标,解析技术栈,并手把手带领读者完成开发环境搭建(Qt Creator + MSVC),最终成功运行一个“Hello World”级的Qt Quick程序。
      在这里插入图片描述
  • 第2篇:C++基础:构建程序的坚实骨架

    • 核心内容: 以Qt控制台程序为例,快速掌握变量、函数、类和Qt核心的信号槽机制。每个知识点都配有可独立运行的精简示例。
  • 第3篇: QML入门:像搭积木一样构建UI

    • 核心内容: 学习QML基础语法、常用组件(Window, Rectangle, Image, Button)和布局方式(Row, Column, Anchors),搭建出项目的主界面静态框架。
  • 第4篇:前后端联动:打通QML与C++的任督二脉

    • 核心内容: 讲解MVVM架构思想,并通过setContextProperty将C++对象暴露给QML。实现点击QML按钮,调用C++函数并返回结果,完成前后端的首次成功“对话”。
第二部分:核心视觉算法开发
  • 第5篇:集成OpenCV:让程序拥有“视力”

    • 核心内容: 在Qt项目中配置和引入OpenCV库,实现cv::MatQImage的相互转换,并在QML界面上加载并显示一张本地的螺丝图片。
  • 第6篇:传统算法实战:用OpenCV测量螺丝尺寸

    • 核心内容: 使用OpenCV的二值化、轮廓发现等经典函数,对螺丝图片进行处理,计算其长度、宽度等几何参数,并判断是否合格。引出传统算法的局限性。
  • 第7篇:AI赋能(上):训练你自己的YOLOv8瑕疵检测模型

    • 核心内容: 介绍目标检测基本概念。重点讲解如何使用LabelImg等工具标注螺丝瑕疵数据,并编写Python脚本,调用Ultralytics库训练一个YOLOv8模型,最终导出为ONNX格式。
  • 第8篇:AI赋能(下):在Qt中部署YOLOv8模型

    • 核心内容: 使用OpenCV的DNN模块,在C++中加载上一篇训练好的ONNX模型。对输入的图像进行推理,解析模型的输出,并在图像上绘制出瑕疵的边界框和标签。
第三部分:模拟完整工业流程
  • 第9篇:接入真实硬件:驱动USB摄像头

    • 核心内容: 使用Qt Multimedia模块中的QCameraQVideoSink,捕获USB摄像头的实时视频流,并将其稳定地显示在QML界面上,实现对真实物体的动态检测。
  • 第10篇:模拟PLC通信:玩转串口(Serial Port)

    • 核心内容: 讲解Qt SerialPort模块的使用。编写一个“虚拟PLC助手”(QML版),通过虚拟串口发送“拍照”指令给主程序,主程序在检测后回传“OK/NG”结果。
  • 第11篇:数据上报MES:与FastAPI服务器的HTTP通信

    • 核心内容: 介绍Qt Network模块。将检测结果封装成JSON格式,通过HTTP POST请求,上报给一个用Python FastAPI搭建的超轻量级本地Web服务器。
第四部分:软件打包与高级特性
  • 第12篇:专业部署:打包你的Windows应用

    • 核心内容: 讲解Release编译,并使用官方的windeployqt工具自动收集所有依赖项(DLLs, QML文件等),最终通过Inno Setup创建一个专业的.exe图形化安装包。
  • 第13篇: 跨平台之旅:部署到Linux与国产系统

    • 核心内容: 在Ubuntu环境下编译项目,并使用linuxdeployqt进行打包。重点讲解在国产操作系统(以麒麟为例)上部署的注意事项和适配要点。
  • 第1.4篇:终极功能:实现程序的在线自动更新

    • 核心内容: 在FastAPI服务器上增加版本检查API。在Qt客户端中编写检查更新、下载新版安装包、并启动外部安装程序的逻辑,为我们的应用画上一个完美的句号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/915436.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/915436.shtml
英文地址,请注明出处:http://en.pswp.cn/news/915436.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】Python中的循环语句

循环语句导读一、基本概念1.1 循环语句的执行流程1.2 循环语句的分类二、while语句三、for语句四、break与continue五、死循环六、循环中的else语句七、range()函数结语导读 大家好,很高兴又和大家见面啦!!! 在上一篇内容中我们…

docker|Linux|以centos基础镜像为基础制作nmap专用镜像(镜像瘦身计划)

一、 最近由于某些场景下需要使用nmap,而nmap的rpm安装包在源目标机器上使用有软件冲突,因此,计划使用docker部署nmap 具体计划为 1、使用centos的基础镜像,在有网环境下,通过配置阿里云的yum仓库,在cen…

基于单片机公交车报站系统/报站器

传送门 👉👉👉👉其他作品题目速选一览表 👉👉👉👉其他作品题目功能速览​​​​​​​ 概述 公交车自动报站系统利用单片机作为核心控制器,结合GPS/北斗定位模块、语音存…

Oracle 体系结构学习

1 认识Oracle后台进程Oracle数据库后台进程是Oracle数据库管理系统(DBMS)的核心组件,它们在后台运行,负责数据库的各种管理和维护任务。主要包括以下几种:SMON (System Monitor)SMON负责数据库的恢复操作,如…

构建一种安全的老式测试仪,用于具有限流灯泡,模拟仪表和可变输出的交流设备

这个复古电路和电源测试仪的想法来自我需要一个简单,安全,时尚的工具来测试和控制工作台上的线路供电设备。商业解决方案要么太笨重,太昂贵,要么缺乏我喜欢的触觉和模拟魅力。所以我决定自己造一个。这个测试仪的核心是一个老式的…

Redis5:Redis的Java客户端——Jedis与SpringDataRedis详解

目录 1、Jedis客户端 1.1使用过程 2、SpringDataRedis 2.1 SpingDataRedis介绍 2.2SpringDataRedis快速入门 2.3RedisTemplate的RedisSerializer 2.3.1RedisTemplate中JDK序列化局限性 2.3.2方式一:改变RedisTemplate的序列化方式 2.3.3RedisTemplate存储一…

零基础 “入坑” Java--- 十三、再谈类和接口

文章目录一、Object类1.获取对象信息2.对象比较:equals方法二、再谈接口1.比较相关接口2.Cloneable接口和深拷贝三、内部类1.匿名内部类2.实例内部类3.静态内部类4.局部内部类在之前的学习中,我们已经了解了有关类以及接口的知识,在本章节中&…

Spring Boot 一个注解搞定「加密 + 解密 + 签名 + 验签」

Spring Boot 一个注解搞定「加密 解密 签名 验签」本文基于 Spring Boot 3.x,通过一个自定义注解 AOP,一行注解即可给任何 Controller 方法加上 请求解密 → 验签 → 响应加密 → 加签 的完整链路,并可直接拷贝到生产环境使用。一、最终效…

《计算机网络》实验报告二 IP协议分析

目 录 1、实验目的 2、实验环境 3、实验内容 3.1 tcpdump 基本用法 3.2 wireshark基本用法 3.3 利用tcpdump抓包,wireshark分析包 4、实验结果与分析 4.1 tcpdump命令的基本用法 4.2 wireshark的基本用法 4.3 利用tcpdump抓包,wireshark分析包…

k8s学习记录(三):Pod基础-Node选择

一、前言 在上一篇文章中我们学习了Pod的一些基本的知识,今天我们将继续学习Pod。 二、K8S如何选择节点来运行Pod 我们知道在一个K8S集群中,会有多个工作节点(Worker Node),那么k8s会选择那个node呢?接下…

3天功能开发→3小时:通义灵码2.0+DEEPSEEK实测报告,单元测试生成准确率92%的秘密

活动链接:https://developer.aliyun.com/topic/lingma-aideveloper?spma2c6h.29979852.J_9593490300.2.49b8110eeymlF8 前言 随着人工智能技术的迅猛发展,AI 赋能编程成为了必然趋势。通义灵码应运而生,它是阿里巴巴集团在人工智能与编程领…

【小沐学GIS】基于Rust绘制三维数字地球Earth(Rust、OpenGL、GIS)

🍺三维数字地球GIS系列相关文章如下🍺:1【小沐学GIS】基于C绘制三维数字地球Earth(OpenGL、glfw、glut)第一期2【小沐学GIS】基于C绘制三维数字地球Earth(OpenGL、glfw、glut)第二期3【小沐学GI…

ARM 学习笔记(三)

参考文献:《ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition》《ARM Cortex-A (ARMv7-A) Series Programmer’s Guide》1、内存类型 ARMv7-A 处理器中,将 Memory 定义为几种类型(Memory Type): Strong…

Flask 框架(一):核心特性与基础配置

目录 一、为什么选择 Flask? 二、Flask 核心概念与初始化 2.1 程序实例初始化 2.2 运行配置:app.run () 参数详解 2.3 应用配置:三种参数设置方式 1. 字典直接配置(简单临时场景) 2. 配置文件导入(生…

社交圈子系统开源社交源码 / 小程序+H5+APP 多端互通的底层技术分析

伴随社交产品向“圈子化”、“内容驱动”发展方向演进,打造一套支持小程序、H5、APP 互通的社交圈子系统,已经成为构建垂直社区的基础架构能力要求。本文围绕一套典型的多端社交兴趣平台(即友猫社区平台)的设计实践,对…

gitlab-runner配置问题记录

引言 笔者曾通过2种方式部署过 gitlab-runner,在 gitlab 中使用这个 runner 拉起 ci job 的过程中或多或少遇到些问题,主要都是 job 中无法访问宿主机的docker 等组件。本篇文档主要记录 gitlab-runner 安装及相关配置。 二进制部署 gitlab-runner 部署 …

每日面试题10:令牌桶

令牌桶算法:优雅的流量控制艺术在现代分布式系统中,流量控制如同交通信号灯般重要——它既不能让请求"堵死"系统,也不能放任流量"横冲直撞"。令牌桶算法(Token Bucket Algorithm)正是这样一种精妙…

【java】消息推送

文章目录Java网页消息推送解决方案 短轮询、长轮询、SSE、Websocket

STM32 | 有源蜂鸣器响,无源蜂鸣器播音乐

目录 Overview 有源蜂鸣器 无源蜂鸣器 有源蜂鸣器控制 GPIO配置 控制程序 无源蜂鸣器控制 反转GPIO控制 GPIO配置 控制接口 PWM控制 GPIO配置 控制函数 改变频率播音乐 原理 1. 频率决定音调 2. 占空比决定音量 GPIO初始化 结构体定义和音符频率表 播放接口 …

第十四章 gin基础

文章目录Gin快速搭建一个web服务Gin数据交互JSON串内容规范Gin使用结构体返回数据给前端Gin配置POST类型的路由Gin获取GET请求参数Gin获取POST请求参数-form-data类型Gin获取POST请求参数-JSON类型Gin获取参数绑定至结构体Gin快速搭建一个web服务 下载包 \\新建一个文件&…