
Qt作品
文章平均质量分 63
分享我个人的Qt作品。基于机器视觉和运动控制领域的工业自动化软件。涉及CAD/CAM/计算几何学/数字图像处理等技术。
利白
这个作者很懒,什么都没留下…
展开
-
我的Qt作品(20)使用Qt+OpenCV写一个旋转/抠图/mask生成工具
使用Qt+OpenCV写一个旋转/抠图/mask生成工具。原创 2024-12-27 11:50:26 · 597 阅读 · 0 评论 -
我的Qt作品(19)使用Qt写一个轻量级的视觉框架---第2章,模仿海康VM实现思维导图拖拽方式的算法流程图
上次写的第1章介绍了主界面的设计。本次是第2章,主要介绍流程图的运行。目前市面上视觉框架很多,主要有列表图方式和流程图方式。海康VM的流程图方式比较受用户的喜爱和欢迎:我的作品采用的是Qt+OpenCV组合方式开发,模仿海康VM连线+流程图的方法。流程图的设计思想其实就是数据结构的【图】。通过遍历每个节点来执行各个算法。原创 2023-09-19 18:53:04 · 5658 阅读 · 19 评论 -
分享一个OpenCV仿照Halcon的高性能形状模板匹配作品(基于Qt/OpenCV/SIMD指令集优化)
在实际应用中矩形会在行、列方向呈现不同的缩放尺度,圆形也会变成椭圆,所以需要将行方向和列方向的缩放尺度单独求出来,这也是halcon中的find_aniso_shape_model算子,俗称各向异性模板匹配,实现起来也不难,在find_scaled_shape_model的基础上改一下,执行效果如下。参照halcon中的create_shape_model_xld算子,自己写了一个基于几何图形创建模板的函数,目前只支持圆形和矩形,圆形需要指定半径,矩形需要指定长宽。转载 2023-07-03 14:48:03 · 3186 阅读 · 0 评论 -
我的Qt作品(18)使用Qt写一个轻量级的视觉框架---第1章,模仿Qt Creator IDE实现主界面
在官方源码可以找到FancyTabWidget、FancyTabBar、FancyTab等等的C++类,它们是实现主界面重要的模块。C++类Theme则实现了主题配色。Qt Creator的源码比较庞大。前几年我陆陆续续读过里面的源码。2、我根据qtc4.15.2源码版本,移植而来,有许多种主题颜色可以切换。最近一直想找机会,借用这个IDE的皮,来写一个视觉框架的小demo。1、先来看看官方Qt Creator IDE的主界面。3、然后再来看看,与视觉相关的功能模块的连线图。default主题配色。原创 2023-04-20 22:35:05 · 3904 阅读 · 2 评论 -
我的Qt作品(17)OpenCV畸变标定,针对单张圆点图片实现畸变校正
问:为什么用张正友标定法做相机标定的时候需要采集多张不同位置的图片,最少需要几张不同位置的图片呢?OpenCV 畸变校正函数undistortPoints()与remap()详解及校正效果对比。答:一张也可以,只要标定板够大,上面的标志点够多,能够覆盖相机的视野。1、详情见我在论坛发的帖子:单张圆点图片实现畸变校正。OpenCV 不同畸变校正函数的使用说明。2000万像素相机,镜头焦距16mm。视野范围400mm*300mm,原创 2021-08-03 22:30:32 · 2744 阅读 · 6 评论 -
我的Qt作品(16)基于机器视觉+运动控制的大视野激光切割机软件
Windows7/10 x64,VS2019,Qt5.12.11 x64大视野激光切割软件的总体目标:是控制自动化设备,切割原材料详细功能列表:1、大视野畸变标定算法2、手眼标定算法3、图像预处理,轮廓提取,形状匹配4、路径优化,最短路径,曲线拟合5、运动控制,直线插补,圆弧插补6、CAD文件编辑和管理,日志1、主界面 2、畸变标定和手眼标定通过激光头,绘制棋盘格,然后根据机械坐标和图像坐标进行标定相机安装在天花板,视野大小,310*210mm 3、路径优化可以分区域加工,也可以按最短路径加工 4、支持轮原创 2022-07-07 17:40:38 · 7401 阅读 · 6 评论 -
我的Qt作品(15)使用Qt+OpenCV实现一个卡尺测量工具,具备找线和找圆的功能
一、卡尺原理 计算过程:1、通过卡尺的ROI,沿着切片方向计算平均灰度值(可选择插值方式,仅当轮廓线和要测量图像的边界不垂直时起作用)2、对平均灰度值(轮廓)进行高斯滤波,目的是让曲线更平滑,消除噪点。3、根据设置的参数提取边缘点。4、亚像素提取二、演示软件截图未使用商业图像处理库,而是纯粹Qt+OpenCV 三、参考文献《halcon工业应用实用教程》Halcon 测量之1D边缘提取过程介绍(二)_智信仁勇严道的博客-CSDN博客_1d边缘提取 halcon【Halcon】1D测量-工业视觉/h原创 2022-06-18 16:25:43 · 7864 阅读 · 19 评论 -
我的Qt作品(14)基于机器视觉+运动控制的LED数码管套板机软件(双相机贴合)
开发环境Windows7/10 x64,VS2019,Qt5.12.11 x64,OpenCV4.5.5 x64LED数码管贴合软件具备的功能列表:软件的目标是把线路板精准得贴合套入塑料盒,精度在10个丝左右。1、大视野畸变标定算法2、手眼标定算法3、上和下两个相机的贴合对位算法(旋转、平移的仿射变换,旋转中心的计算)4、图像预处理,模板匹配5、运动控制,涉及20个轴的电机控制软件介绍1、主界面2、畸变标定准备一张菲林板,里面都是圆点3、手眼标原创 2022-05-20 12:14:38 · 4249 阅读 · 4 评论 -
我的Qt作品(13)使用Qt实现ImageWatch图片查看功能,图片放大可见RGB像素值。支持打开大图片。
Visual Studio有专门针对OpenCV开发的插件,名叫ImageWatch,图片放大之后可以查看RGB的像素值。原创 2022-04-16 18:22:05 · 10063 阅读 · 14 评论 -
我的Qt作品(12)使用Qt+OpenCV实现一个带旋转角度的Shape形状匹配演示软件
但是Edge Based Template Matching项目本身是不支持旋转角度和金字塔分级的,所以需要自己实现这些功能。使用Qt+OpenCV自己写了一个带旋转角度的形状匹配算子以及它的演示软件。1、形状匹配的原理可以参考印度小哥的开源项目,Edge Based Template Matching。2、推荐阅读书籍《机器视觉算法与应用(第2版)》,halcon作者编写,3.11章节,模板匹配。创建模板,对照学习halcon的算子create_shape_model。二、本篇的演示软件主要功能:(原创 2022-02-28 21:35:57 · 7504 阅读 · 10 评论 -
我的Qt作品(11)使用Qt+OpenCV实现一个带旋转角度的NCC灰度模板匹配演示软件
使用Qt+OpenCV自己写了一个带旋转角度的NCC灰度模板匹配算子。算子的原理是基于NCC灰度匹配。在opencv代码中,matchTemplate函数保存在文件imgproc文件夹下的templmatch.cpp中,NCC算子的计算方式是cv::TM_CCOEFF_NORMED。https://github.com/opencv/opencv/blob/4.5.5/modules/imgproc/src/templmatch.cpp部分头文件#ifndef CNCCMATCH_H#d原创 2022-02-25 14:47:48 · 11037 阅读 · 20 评论 -
我的Qt作品(10)使用Qt开发轻量级的CAD矢量绘图软件,支持图元增删改查
一、轻量级的CAD绘图软件,有以下功能:1、支持绘制图元:直线,椭圆,多边形,多线段,贝塞尔曲线等;2、支持复制,粘贴,剪切,删除,放大,缩小,撤销和重做;3、支持旋转,镜像,偏移等操作;4、各种对齐,等距等操作;群组和解组的操作;5、属性页显示位置,大小,角度,周长,面积等等;6、图层,分颜色显示;二、软件截图1、主界面2、属性表,可以修改图元属性:3、支持群组4、支持旋转5、图层使用不同颜色区分---42....原创 2021-04-10 13:16:39 · 12616 阅读 · 23 评论 -
我的Qt作品(9)Qt使用Cairo绘图引擎提升抗锯齿效果【开源】
Cairo:C编写的开源绘图引擎(基于LGPL协议),大名鼎鼎的FireFox就是用这个绘图引擎的。Cairo是非常流行的开源2D图形渲染引擎库,它支持包括X-Windos,Win32,图像,pdf在内的各种输出设备。目前,Cairo已被广泛的使用在多个平台上来渲染图形界面,包括Firefox/Webkit-EFL/GTK+/Poppler/Qt等等。Qt的QPainter提供的抗锯齿效果没有cairo的好。cairo是用C编写的,但是为大多数常用的语言提供了绑定。原创 2021-02-13 17:51:02 · 5109 阅读 · 0 评论 -
我的Qt作品(8)把QtPropertyBrowser属性编辑器控件成功应用在机器视觉项目中【开源】
之前写了一篇博文,详细介绍了QtPropertyBrowser控件的使用:详解Qt5.12.9属性表控件:QtPropertyBrowser的使用示例/折叠/展开/小数位数/QSS样式/标题修改/选中行号等https://libaineu2004.blog.csdn.net/article/details/108962179最近在视觉项目中应用上了:1、实时显示各个轴的坐标值2、右键弹出菜单,有“复制”当前单元格数据的功能3、IO信号的显示4、标定参数的精度补偿.原创 2021-01-06 21:34:51 · 2724 阅读 · 2 评论 -
我的Qt作品(7)使用Qt+OpenCV实现图像轮廓提取,再用三阶贝塞尔曲线拟合成光滑线条/多边形拟合
给一系列顶点,如果只是用直线将其中的各个点依次连接起来,最终形成一个折线图,这种很容易实现。但是现实中事物的变化往往具有连续的特性,即使是给定了一系列离散的点,基于以往的生活经验,人们也更愿意接受那种曲线连接的图。计算机图形学中有一类很常用的曲线,俗称贝塞尔曲线。1962年,法国数学家Pierre Bézier第一个研究了这种矢量绘制曲线的方法,并给出了详细的计算公式,因此按照这样的公式绘制出来的曲线就用他的姓氏来命名是为贝塞尔曲线。很多程序语言都有实现贝塞尔曲线的API,而该曲线本身也拥有强大的近似其原创 2020-11-24 10:07:44 · 5237 阅读 · 4 评论 -
我的Qt作品(6)使用Qt完整解析dxf文件并绘制(支持椭圆和样条曲线)
早期写了一篇博文《AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形》https://blog.csdn.net/libaineu2004/article/details/89309569当前的图形绘制使用的是opencv库。现在使用qt原生的绘制函数,实现了dxf文件的绘制.。支持多线段,椭圆,样条曲线等复杂图元的解析。423776537@qq.com......原创 2020-11-15 13:29:36 · 10060 阅读 · 23 评论 -
我的Qt作品(5)使用Qt+Halcon实现模板匹配;支持ROI框选/橡皮擦涂抹功能
开发环境:Windows7/10 x64,VS2017,Qt5.12.9 x64,Halcon20.05试用版数控软件具备的功能列表:原创 2020-10-03 19:49:47 · 10074 阅读 · 37 评论 -
我的Qt作品(4)实现可折叠和伸缩的自定义Widget--抽屉控件
本篇介绍实现可折叠和伸缩的自定义Widget--抽屉控件。抽屉控件在紧凑的界面设计时,还是用途多多,好处多多。原创 2020-09-02 15:36:24 · 11038 阅读 · 10 评论 -
我的Qt作品(3)基于QTabWidget和AdvancedDocking实现的Ribbon风格主界面【开源】
Qt 实现的Ribbon风格主界面,基本思路是定制QTabWidget,通过QSS(样式表)实现显示样式的调整。左边和底部的停靠窗口是采用第三方控件实现的。1、先看看最终效果停靠窗口允许鼠标拖动和停靠任意位置。2、实现思路,完全是采用QTabWidget来开发的。把各个QToolButton按钮拖入。然后通过QSS样式表调出效果。3、停靠窗口是采取第三方控件实现的。开源。https://github.com/githubuser0xFFFF/Qt-Advanced-Docki原创 2020-08-25 13:14:26 · 9273 阅读 · 13 评论 -
我的Qt作品(2)基于机器视觉+运动控制的数控钻孔软件,使用Qt和OpenCV库
数控软件具备的功能列表:1、AutoCAD的dxf文件解析与图形绘制,图形缩放,图形移动,图形镜像等操作;2、相机采集与图片显示,OpenCV图像处理,像素与机械坐标的转换;3、运动控制卡的操作,点位运动,直线/圆弧插补运动,缓冲区/前瞻功能;IO信号的采集与显示;4、运动加工轨迹的模拟仿真;5、刀具表的管理;6、用户权限的分类;7、日志管理;423776537@qq.com......原创 2020-08-23 09:17:51 · 11985 阅读 · 36 评论 -
我的Qt作品(1)高仿海康威视MVS主界面
另外,我的作品(19),分享了仿海康VM思维导图视觉框架。这个是纯粹的主界面,没有后台逻辑。原创 2020-08-22 21:15:55 · 4418 阅读 · 0 评论