- 博客(497)
- 收藏
- 关注
原创 如果重来一次,你还会选机器视觉吗?
机器视觉工程师的辛酸:你以为在调算法,实际在修网线。从网线死角、超长USB线到传送带振动,再到系统更新弹窗卡死,各种奇葩问题层出不穷。验收前必出幺蛾子,客户总能精准命中系统软肋。这份工作教会我们:真正的挑战不在代码,而在应对无数"不可能"的现场状况。
2026-02-03 10:02:24
16
原创 当项目不让使用 Qt!如何实现串口通信?
在无法使用Qt框架时,如何通过纯C++实现Windows平台的串口通信。针对商业授权限制、项目合规要求等场景,详细介绍了直接使用Windows API(CreateFile/ReadFile/WriteFile等)的开发方案。文章提供了完整的线程化示例代码,实现串口收发功能,并对比了该方案与Qt方案的优缺点:虽需手动管理线程且代码量增加,但完全规避授权问题,适合纯C++工程。
2026-02-03 09:41:12
153
原创 为什么现在很多岗位,直接招聘 Qt 工程师,而不是 C++ 工程师?
招聘需求从C++工程师转向Qt工程师的现象,反映了企业对特定应用开发能力的需求变化。这类岗位更看重工程实践能力而非语言深度,Qt框架提供的标准化解决方案能显著降低开发成本。企业需要的是能快速上手维护现有系统的开发者,而非追求技术深度的C++专家。Qt工程师的标签明确了候选人具备UI开发、业务逻辑处理等实际项目经验,这种确定性比宽泛的C++技能更符合企业需求。在工业软件等保守领域,熟悉Qt工程模式的开发者反而比追求技术前沿的工程师更具优势。
2026-02-02 09:15:54
228
原创 用Qt太久,C++都不会了,现在只敢投Qt开发的岗位……
兄弟们,我怀疑我已经“Qt依赖症”晚期了。当年刚学C++的时候,天天想着写游戏引擎、写底层、写算法,结果一脚踏进Qt的大门,从此再也没出来过。现在一看招聘网站,看到“纯C++开发工程师”五个字,手心就开始出汗。
2026-01-30 09:21:01
587
原创 真想不开就去干机器视觉吧
机器视觉工程师高薪难招的背后:一份真实的职业剖析 机器视觉工程师看似高薪光鲜,实则面临多重挑战:知识体系复杂(数学、软件、硬件等)、工作强度大(频繁加班出差)、压力来源多元(技术+客户沟通+销售)。刚入行薪资未必理想,需长期积累。但若能坚持,职业成长空间可观。这份工作不适合追求速成者,而是为真正热爱技术、能吃苦的人准备的。行业前景虽好,但需理性看待,脚踏实地才能走远。
2026-01-30 09:10:42
261
原创 Qt 和 C++,是不是应该叫 Q++ 了?
Qt框架虽然基于C++,但实质上形成了一套独特的"Q++"生态。它通过宏魔法(如Q_OBJECT)、自动内存管理(父子对象模型)和特殊的线程机制,完全重构了标准C++的开发体验。Qt还拥有自己的UI语言QML、模块体系和构建系统,更像是在C++基础上长出的新语言。尽管存在学习曲线陡峭、UI定制困难和法律授权等问题,Qt仍然是C++项目中跨平台GUI开发的首选方案,尤其适合游戏等原生C++项目。这套框架既体现了C++的灵活性,也因其"特立独行"的特性让开发者又爱又恨。
2026-01-28 10:44:24
749
原创 为什么老说“纯 Qt 没啥就业市场”?
关于“纯Qt工程师没前途”的讨论,核心问题在于“纯UI开发”的市场价值有限。Qt本身是优秀的跨平台框架,广泛应用于工业、医疗、嵌入式等领域,但仅做界面开发门槛低、重复性高、易被替代。高价值的Qt岗位通常结合算法、图形渲染、音视频等核心技术(如Qt+OpenCV/OpenGL/FFmpeg),将Qt作为交互入口而非核心。避免陷入“全干型”低技术沉淀岗位,建议深耕视觉、图形或音视频方向,提升系统能力与技术深度,而非仅依赖Qt界面开发。
2026-01-27 11:52:39
1029
原创 Qt 元对象系统:机制、组成与典型用法
Qt的元对象系统(Meta-Object System)通过QObject基类、Q_OBJECT宏和moc工具实现,提供信号/槽通信、运行时类型信息及动态属性等核心功能。关键特性包括: 信号/槽机制:支持对象间松耦合通信,通过moc生成元代码实现动态绑定。 运行时类型信息:提供className()、inherits()和安全的qobject_cast转换,不依赖C++ RTTI。 动态属性系统:支持通过字符串名动态读写属性(setProperty/property)。 扩展能力:包括国际化(tr(
2026-01-26 10:42:11
1003
原创 用 Qt 做商业软件,会不会“被迫开源”?
本文解析了Qt许可证的核心问题:使用Qt模块的许可证类型、链接方式及交付方式决定了是否受GPL/LGPL影响。关键点包括:LGPL模块动态链接可闭源但需遵守规则;静态链接需保证用户可重链接;GPL模块传染性强,闭源项目需谨慎。建议闭源商业软件优先使用LGPL模块、动态链接、不改库,并准备好相关许可证材料。决策口诀:闭源选LGPL+动态链接,GPL-only模块高风险需三选一,LGPL静态链接重点是可重链接。
2026-01-23 10:22:37
923
原创 为什么MySQL 明明支持事务,Qt 却不支持?
本文记录了作者在Qt项目中使用MySQL事务时遇到的db.transaction()始终失败的问题排查过程。通过编写诊断代码发现,尽管MySQL支持事务且能手动执行START TRANSACTION,但Qt驱动层却认为事务不可用。最终发现是Qt 5.12预编译版MySQL插件与MySQL 5.7客户端库不兼容所致。解决方案是更换为MySQL 5.6版本的libmysql.dll,使事务功能恢复正常。文章详细展示了诊断思路和验证过程,为Qt+MySQL开发者提供了版本兼容性问题的排查经验。
2026-01-20 11:30:00
1350
原创 Qt 小技巧:如何用 Q_PROPERTY 管理属性
本文深入解析了Qt中的Q_PROPERTY宏,介绍其如何简化属性管理并增强功能。通过示例展示了Q_PROPERTY的基本用法,包括声明属性、自动生成getter/setter方法,以及利用NOTIFY信号实现属性变化通知。文章还探讨了高级特性如枚举类型属性的声明,并总结了Q_PROPERTY在代码简化、信号槽机制、QML兼容性和动态属性访问方面的优势。该宏能显著提升Qt开发效率,特别适合需要UI交互的场景。
2026-01-15 09:09:40
1081
原创 工业相机里,芯片尺寸和图像尺寸到底啥关系?
成像芯片尺寸与图像尺寸解析 成像芯片尺寸(如1/1.8"、1"等)代表感光芯片的物理大小,数值越大芯片越大,带来更好的感光能力、更广视场和更低噪点。图像尺寸(分辨率)则决定图像细节表现力,如500万或4K。两者关系密切但不同:相同像素下,大芯片成像质量更优;芯片尺寸决定硬件性能上限,分辨率决定可用细节量。选型建议:高精度检测优先高分辨率+合适靶面,弱光环境选大靶面,高速检测需平衡参数。核心原则是芯片尺寸决定质量下限,分辨率决定细节上限,需根据实际检测需求综合考量。
2026-01-10 10:37:24
561
原创 Qt线程陷阱:为什么QPixmap不适合在子线程使用
QPixmap在多线程环境下存在线程安全问题,而QImage是线程安全的。本文分析了QPixmap线程不安全的原因,并提出解决方案:在子线程中使用QImage处理图像,通过信号传递到主线程后转换为QPixmap显示。文中提供了完整的示例代码,演示了如何安全地实现多线程图像处理与显示,避免资源竞争和性能问题。这种方法既能保证线程安全,又能提高程序稳定性。
2026-01-08 09:22:58
817
原创 串口中说的全双工半双工啥意思?一文清晰!
解释了串口通信中的全双工和半双工概念。全双工支持双向同时通信,如手机通话可同时说和听;半双工则需轮流通信,如对讲机只能单向传输。全双工适合实时交互场景,但实现较复杂;半双工对硬件要求低,适用于简单交互。两者差异主要在数据传输方向和实现技术上,满足不同场景需求。(149字)
2026-01-06 11:14:31
456
原创 如何理解有关多线程与系统资源的关系?
本文探讨了Qt和C++开发中多线程与系统资源管理的优化策略。多线程能提升程序效率,但线程过多会导致CPU竞争、内存消耗增加及锁同步开销。建议合理控制线程数量,使用线程池(如QThreadPool)复用线程,减少锁竞争,并采用Qt信号槽机制实现异步编程,避免主线程阻塞。这些方法可有效平衡性能与资源消耗,提升应用响应速度。
2025-12-30 09:14:27
489
原创 不常用但超实用!QSlider的八大隐藏功能
本文介绍了Qt中QSlider控件的核心功能和使用方法。主要内容包括:1) 信号处理(valueChanged、sliderMoved等)实现实时反馈;2) 刻度显示配置(tickPosition和tickInterval);3) 步进控制(singleStep和pageStep);4) 反向显示与控制(invertedAppearance和invertedControls);5) 方向切换(setOrientation);6) 与QSpinBox的双向绑定。通过代码示例展示了如何实现音量调节、进度显示等常
2025-12-27 10:17:05
349
原创 QLabel 的这些小技巧,让你的 UI 变得与众不同!
本文介绍了Qt中QLabel控件的11种高级用法,包括富文本显示、超链接处理、可复制文本、GIF播放、图片缩放等。通过设置TextInteractionFlags、使用QMovie播放动画、事件过滤器实现点击响应等功能,可以扩展QLabel的基础用途。文章还涵盖了边距设置、快捷键聚焦等实用技巧,帮助开发者创建更灵活高效的UI界面。这些技巧使QLabel不仅限于文本显示,还能满足各种交互需求,提升用户体验。
2025-12-26 10:41:04
836
原创 钢卷快速展开找缺陷,如何避免运动模糊?
工业机器视觉在高速运动物体拍摄中的应用:通过调整相机曝光时间(缩短曝光并增强光线)和选用全局快门(避免逐行扫描错位),成功解决了钢卷高速旋转时表面缺陷检测的图像模糊问题。该技术实现了实时清晰成像,能准确识别划痕等缺陷并触发停机,有效提升了生产线质量控制效率。案例证明合理运用视觉技术可完美克服动态拍摄难题。
2025-12-26 09:53:38
236
原创 【踩坑笔记】ARM平台上Qt与Halcon的集成开发
摘要: 在ARM嵌入式视觉开发中,Qt6与Halcon的结合面临诸多挑战。Qt6的交叉编译涉及CMake版本和库兼容性问题,需多次调试工具链。Halcon的ARM授权成本高昂,破解版本存在法律和安全风险。最终通过特殊渠道获得授权并优化QML界面,实现稳定运行。关键经验包括谨慎选择版本、正确配置交叉编译环境,以及商业项目必须使用正版授权。(149字)
2025-12-25 09:57:59
886
原创 机器视觉中常见的3D技术有哪些?一文带你了解
3D视觉技术在现代机器视觉中广泛应用,主要包括四种主流技术:双目视觉(低成本、毫米级精度)、线激光轮廓仪(微米级精度需扫描)、结构光(非接触微米级扫描)和ToF(实时测距但受反射影响)。此外,LiDAR、超声波成像等技术也在特定领域发挥作用。不同技术各具优势,适用于工业检测、自动驾驶、机器人等多样化场景。
2025-12-22 08:59:18
975
原创 你可能不知道的 10 个 QTextEdit隐藏技能
本文深入介绍了 Qt 中 QTextEdit 控件的 10 个高级功能,包括文本变化信号处理、纯文本/HTML 转换、文本格式化、撤销/重做、Tab 宽度设置、查找功能、当前行高亮、行数限制、右键菜单定制和选中内容导出。每个功能都配有示例代码和效果截图,帮助开发者灵活运用这些特性。文末提供了完整的 Demo 下载链接,方便读者直接测试和使用这些功能。
2025-12-22 08:55:59
802
原创 不常用但超实用!QSpinBox 九大隐藏技巧
本文介绍了Qt中QSpinBox控件的9个高级功能:1)三种信号区别(valueChanged、textChanged、editingFinished);2)范围与步进设置;3)前后缀显示;4)特殊值文本;5)加速与环绕功能;6)进制显示;7)键盘跟踪;8)自定义文本解析;9)禁用滚轮误触。这些功能可以提升数值输入控件的交互体验和灵活性,适用于价格输入、参数设置等多种场景。
2025-12-17 09:19:13
538
原创 你可能不知道的 14 个 QLineEdit 隐藏技能
Qt的QLineEdit控件功能详解 QLineEdit是Qt开发中最常用的文本输入控件,提供了丰富的高级功能: 信号处理:区分textChanged、textEdited等不同信号 输入验证:支持数字验证(QIntValidator)和正则表达式验证 格式控制:通过InputMask设置输入掩码 自动补全:使用QCompleter实现智能提示 密码输入:支持PasswordEchoOnEdit等模式 UI优化:清除按钮、占位文本、文本对齐等功能 这些功能可以显著提升用户体验,适用于表单输入、搜索框、密码输
2025-12-16 08:55:25
881
原创 Qt 小技巧合集:QComboBox 的 12 个细节,做完高级感暴涨
摘要 本文深入探讨了Qt中QComboBox控件的进阶用法,展示了12个实用技巧: 区分用户选择与程序改值的信号处理 可编辑模式与自动插入策略 设置提示文本提升用户体验 实现智能自动补全功能 基于Model/View的灵活数据绑定 使用UserRole存储业务数据 添加分组分隔线优化界面 自定义弹出视图控制选择行为 为选项添加图标增强可视化 输入校验确保数据有效性 输入即弹出提升操作效率 禁用滚轮避免误操作 这些技巧覆盖了参数面板、工具软件等场景下的常见需求,通过合理运用可以显著提升应用的专业性和用户体验。
2025-12-15 08:59:57
915
原创 Qt控件小技巧:QPushButton的一些隐藏玩法
本文介绍了QPushButton在Qt Widgets中的12个实用技巧,包括:将按钮作为开关(Checkable/Toggle)、按钮组互斥选择(QButtonGroup)、长按连发(AutoRepeat)、下拉菜单按钮(setMenu)、Enter键触发确定(Default/AutoDefault)、模拟点击(animateClick)、设置快捷键(setShortcut)、按压/释放信号(pressed/released)、强制按下态(setDown)、圆形点击区域(hitButton)、小红点角标(
2025-12-13 10:08:20
650
原创 为什么有的视觉系统越用越顺手,有的越用越想砸?
机器视觉系统成功的关键在于经验与协作 机器视觉系统的实际效果往往不取决于设备本身,而在于实施过程中的经验积累与甲乙双方的深度协作。许多项目失败源于需求模糊、前期过度乐观或甲方参与不足。有经验的厂家能预判行业常见问题,而甲方的工艺知识对系统优化至关重要。此外,系统的长期可用性依赖于"傻瓜化"设计,将经验固化到软件中,便于后期自主调整。真正好用的视觉系统需结合专业团队、清晰需求、现场磨合及易维护性,而非单纯追求技术参数。
2025-12-11 09:14:41
870
原创 QML 里的 ListModel 和 ListView,这么写就不报错了
本文介绍了在 Qt/QML 中使用 ListModel 和 ListView 时遇到的常见锚点错误问题。当尝试用 anchors 对齐非父级或兄弟控件时,会报错"QML ListView: Cannot anchor to an item that isn't a parent or sibling"。文章提供了一个完整的解决方案,建议使用 ColumnLayout/RowLayout 替代手动锚点布局,并给出了可直接运行的示例代码。示例展示了如何正确构建包含 ListModel 数据、
2025-12-08 11:37:10
981
原创 QML中的模块化加载功能:Loader
QML Loader 是一个用于动态加载外部 QML 组件的容器控件。它不负责绘制复杂界面,而是作为占位框来加载并显示其他QML文件。Loader 的核心功能包括:通过 source 属性指定要加载的 QML 文件;用 active 控制加载/卸载;通过 item 访问加载的组件;以及 status 查看加载状态。典型应用场景包括按需加载、页面切换和动态UI创建。示例展示了如何用 Loader 加载外部 ColorBox.qml 组件,并通过按钮控制其加载/卸载及属性修改。这种机制使UI模块化,提高性能和代
2025-11-25 09:36:49
412
原创 QML 新手最容易迷糊的 Component,其实就这点事儿
QML中的Component是一个不可见的模板,用于动态创建控件对象。它类似模具,本身不显示,只有通过createObject()或作为Loader/ListView的delegate时才会实例化。
2025-11-24 10:29:26
909
原创 一文清晰机器视觉中光源选型术语
机器视觉系统中光源选型对检测效果至关重要。文章系统介绍了常见光源类型及其应用场景:平行背光适合高精度尺寸测量,能获得锐利边缘轮廓;正向光(包括高角度、低角度、同影、同轴光)通过不同入射角度突出表面特征;无影光通过多角度均匀照射弱化阴影;背光(直接、漫射、平行)则专用于轮廓检测。选型时应先确定检测需求(轮廓或表面特征),再选择合适的光源角度和结构形式,如高精度测量推荐平行背光+远心镜头组合,反光物体宜选用无影光。合理的光源选择能显著提升检测稳定性和算法鲁棒性。
2025-11-24 10:04:38
1795
原创 Qt QML Timer 定时器的使用技巧
本文介绍了Qt QML中Timer元素的使用方法,详细解析了其基本属性(interval、running、repeat)和触发机制(onTriggered)。通过一个综合示例演示了Timer的三大应用场景:动态颜色变换、倒计时功能和随机移动动画,并提供了完整的示例代码。文章还展示了如何通过按钮控制定时器的启动、暂停和恢复,帮助开发者快速掌握Timer在QML界面开发中的实际应用技巧。
2025-11-18 09:28:43
531
原创 面阵与线阵相机的区别与选型技巧
工业相机在机器视觉系统中至关重要,面阵相机和线阵相机是最常见的两种类型。面阵相机能一次性捕捉完整图像,适用于形状识别、尺寸检测等通用场景;线阵相机通过逐行扫描成像,适合高精度测量和大视野应用。选择时需考虑视野范围、分辨率、运动速度等因素,并确保镜头匹配。面阵相机操作简单但像素受限,线阵相机精度高但系统复杂。根据具体检测需求合理选择相机类型及配套镜头,是提升工业自动化效率的关键。
2025-11-18 09:16:10
706
原创 深度图像处理常见坑,如何正确读取像素数据?
在Qt中正确读取16位深度图像像素数据的方法。深度图像通常以16位灰度格式存储深度信息,而常用的QImage::pixel(x,y)方法仅适用于RGB图像。文章推荐两种正确读取方式:1) 通过QImage::bits()获取原始数据指针直接读取16位值;2) 使用QImage::scanLine()逐行访问。同时建议封装通用函数来适配不同图像格式。关键提醒:处理深度图像时务必避免使用pixel()方法,而应直接操作像素缓冲区以保证数据准确性。
2025-11-13 16:37:08
355
原创 机器视觉背后的数字图像技术
数字图像处理(DIP)是机器视觉的核心技术,使计算机能够分析和处理图像信息。数字图像由像素矩阵构成,通过采样和量化将模拟图像转换为数字形式。DIP涵盖图像增强、分割、压缩、识别等多个任务,广泛应用于工业检测、自动驾驶等领域。处理系统包括图像采集、存储、处理和分析等模块。图像质量受分辨率、灰度级和采样量化影响,灰度直方图可分析亮度分布。点处理(如二值化)和局部处理(如平滑)是基本操作。掌握DIP基础对机器视觉应用至关重要。
2025-11-12 09:03:09
927
原创 机器视觉中的光源大不同,哪个最适合你?
机器视觉系统中光源选择直接影响图像质量与检测效果。不同类型光源具有独特特点:环形光源适合三维信息检测,条形光源适用于边缘特征突出,背光源增强物体轮廓,同轴光源提供均匀照明,球积分光源实现漫反射均匀光照。选择光源需考虑物体材质、表面特性、检测精度及特殊需求,如金属反光物体宜用环形无影光源,精细缺陷检测适合线光源。合理光源选择能显著提升图像清晰度,确保系统稳定性和检测准确性。
2025-11-11 09:39:01
893
原创 QML 动画进阶:深入理解 Qt Quick 中的 Behavior 元素
Behavior 是 Qt Quick 中用于自动为属性变化添加动画的元素,简化动画实现流程。通过绑定目标属性(如宽度、高度),配合 NumberAnimation 等动画类型,可在属性值变化时自动触发平滑过渡效果,无需手动编写动画控制逻辑。示例中,矩形的尺寸变化通过 Behavior 实现1秒渐变动画,结合缓动效果提升视觉流畅度。其优势包括代码简洁性、自动化动画管理以及增强用户体验,适用于位置、尺寸、颜色等多种属性动画场景,是 Qt Quick 开发中优化界面交互的重要工具。(150字)
2025-11-11 09:35:08
1112
奥比中光【计算机视觉】基于C++的Orbbec SDK深度相机开发指南:数据流控制与参数配置技术实现
2025-09-30
机器视觉基于Halcon的深度学习图像处理系统安装与配置:工业检测领域开发环境搭建指南
2025-09-22
越疆C++二次开发接口文档V4版本.pdf【工业自动化】基于TCP/IP的C++机器人控制接口
2025-09-16
通用的 Qt 安装器,支持安装 Qt 的多个版本(包括较新的版本
2025-06-17
Qt 在线安装程序 ,联网安装
2025-06-17
基于形状匹配的剃须刀刀片检测与缺陷分析的完整Halcon例程代码和示例图像文件
2024-12-27
基于形状匹配与OCR的多图像处理Halcon例程代码及示例图像文件
2024-12-27
高噪声环境下形状匹配的完整Halcon例程代码、示例图像以及相关配套文件
2024-12-27
基于HSV颜色的保险丝分类的完整Halcon例程代码和示例图像文件
2024-12-27
Halcon安全环检测例程资源包
2024-12-27
Halcon液位检测例程代码与图像资源
2024-12-27
工业视觉海康威视MVS客户端使用指南及注意事项
2024-11-25
基于Qt的多功能串口通信工具分享:实时数据收发与波形绘制
2024-09-28
该项目是一个基于 Qt 框架开发的桌面应用程序,主要用于与 MQTT 服务器进行连接和通信
2024-09-24
该串口助手工具基于Qt/C++开发,专为简化串口通信调试与开发而设计,适合新手快速上手 工具具有直观的用户界面和丰富的功能,旨在
2024-09-20
基于Qt/C++实现了一款功能丰富的TCP服务器与客户端调试助手 该工具不仅支持双向发送、群发、定时发送等基本功能,还具备接收显
2024-09-20
串口调试助手、多信息枚举、定时、
2024-09-06
Qt/C++ TCP服务器调试助手
2024-09-06
HalconOCR字符识别源码+点阵字体图像资源
2023-11-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅