QT
文章平均质量分 73
mark-puls
但愿歧途同归,我与你讲来时的路
展开
-
计算两个颜色相似度
计算两个颜色相似度,用于判别两个颜色是否是同一种颜色。原创 2022-12-07 15:35:41 · 4122 阅读 · 4 评论 -
基于QT封装海康SDK(MvCameraControl),访问控制海康相机
封装类HkCameraApi,此类可以访问控制海康的网络相机、USB相机,可以同时采集多台相机的视频、控制设置的各种属性设置。原创 2022-11-25 15:40:47 · 1733 阅读 · 0 评论 -
基于QT+Halcon实现黑白面积检测
1、在指定区域对图像做二值化,然后分别统计黑色像素和白色像素个数。2、输出黑色像素和白色像素个数,黑色像素比例和白色像素比例。3、实现黑白面积检测,只要使用了Halcon的Threshold()算子和Area()算子,原型如下:3.1、HRegion HImage::Threshold(double MinGray, double MaxGray) const参数解释如下:MinGray:降低灰度值的阈值。MaxGray:灰度值的上限阈值。HRegion:返回值,黑白区域。3.2、HTuple A原创 2022-04-16 17:35:02 · 1368 阅读 · 0 评论 -
基于QT+Halcon实现拟合圆形
1、在图像指定区域内拟合出圆形。2、拟合圆形成功后,输出圆形的圆心坐标、半径、真圆度和真圆量。真圆度越小圆形越圆。3、实现在图像拟合圆形,使用Halcon的两个算子,分别是MeasurePos()和FitCircleContourXld(),原型如下:3.1、void HMeasure::MeasurePos(const HImage& Image, double Sigma, double Threshold, const char* Transition, const char* Sele原创 2022-04-14 11:35:10 · 974 阅读 · 1 评论 -
QT信号与信号槽之connect
1、connect()函数原型如下所示:原型1:static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType = Qt::AutoConnection);原型2:static QMetaObject::Connection c...原创 2022-04-13 18:05:46 · 1468 阅读 · 0 评论 -
基于QT+Halcon实现拟合直线
1、实现在图像上拟合直线,主要使用了HalconMeasurePos()算子,此算子的原型如下:void HMeasure::MeasurePos(const HImage& Image, double Sigma, double Threshold, const char* Transition, const char* Select, HTuple* RowEdge, HTuple* ColumnEdge, HTuple* Amplitude, HTuple* Distance) const。.原创 2022-04-13 15:38:53 · 753 阅读 · 0 评论 -
QT封装动态库VC调用, 动态库发送消息给VC窗口
一、使用QT生成动态库。1、使用QT新建工程,步骤New Project-->>Library-->>C++库。2、给项目取名test21, 选择 “共享库”。3、选择“Desktop Qt 5.9.1 MSVC2013 64bit”。4、选择自己需要模块,如果不需要,则跳过这一步。5、双击“test21.pro”文件,并添加include(../QSoap/src/qtwinmigrate.pri),此模块用于与MFC窗口通信。该模块是一个单独工程,需要单独下载原创 2022-04-11 18:01:35 · 1438 阅读 · 0 评论 -
基于QT+Halcon实现线序识别
一、线序识别算法步骤。1.按照检测区域m_pItem1的外接矩形(rtBount)的大小, 截取感兴趣区域图像hRoi。2.把截取出来的感兴趣区域图像hRoi, 分离出R、G、B三个通道hRed、hGreen、hBlue。3.把hRed、hGreen、hBlue三个通道转换成cielab颜色空间, 得到hChannelL、hChannelA、hChannelB三个颜色图。4.设m_pItem1的宽为iItemW, 高为iItemH. 分别申请大小为iItemW的pSumL、pSumA、pSumB内原创 2022-04-11 11:03:12 · 1393 阅读 · 0 评论 -
QSet<T> 与 set<T>有本质区别
1. QSet<T> 只去重不排序, T必须实现 operator==() 和 全局qHash()2. set<T> 即去重又排序3. QSet<T>比set<T>速度快,占用空间多示例:class CPoint{public: CPoint(short xx = 0, short yy = 0) { x = xx; y = yy; } int keyValue() cons...原创 2021-02-23 11:50:09 · 981 阅读 · 0 评论 -
简介QT控件之QTextBrowser
1、QTextBrowser自带有默认的右键弹出菜单,如果想屏蔽掉默认菜单,点击右键的时候弹出自己定义的菜单,则需要把属性contestMenuPolicy:由DefaultContextMenu改为CustomContextMenu,或者使用代码设置contestMenuPolicy属性,代码如下所示:ui->tbMsg->setContextMenuPolicy(Qt::CustomContextMenu); QTextBrowser的属性页面如下:1.1 默认菜单如下:1.原创 2020-09-11 10:46:26 · 15933 阅读 · 0 评论 -
修改QT可执行程序(xxx.exe)的图标
1、下载需要的图标,如果下载的是png图片,需要把png转成ico,png在线转ico地址:https://www.easyicon.net/covert/2、把转换好的MainWindow.ico拷贝到与QT的程序源码在同一个目录。3、新建一个文本文件,命名为MainWindow.rc,然后在MainWindow.rc文件添加一下代码:IDI_ICON1 ICON DISCARDABLE "MainWindow.ico"4、在项目的工程文件xxx.pro,添加以下代码:RC_FILE原创 2020-09-09 16:36:27 · 1314 阅读 · 0 评论 -
QT常用函数
一、此工程实现获取当前工程目录、获取指定目录下的所有文件名、获取系统当前时间、获取自1970.1.1日以来到当前时间的毫秒数、打开选择目录的对话框、打开选择目录的对话框、打开选择文件路径的对二、代码实现如下://1、获取Windows下的各种系统路径,其中MARK是我的电脑名/*QStandardPaths::DesktopLocation, "C:/Users/MARK/Desktop"QStandardPaths::DocumentsLocation, "C:/...原创 2020-05-25 16:40:23 · 738 阅读 · 0 评论 -
Windows下配置halcon开发环境(win7+halcon12.0+Qt5.9.1)
一、环境搭建1、下载qt-opensource-windows-x86-5.9.1.exe并安装,下载链接:链接:https://pan.baidu.com/s/1UctWCo08X91m2vIJgZvvXw提取码:tjh4 。2、下载halcon-12.0-windows-64.exe并安装,下载链接:链接:https://pan.baidu.com/s/1fqrCDhwq59WQWMW9Os677A提取码:1joa。(内置破解方法)3、找到halcon安装目录,我的暗转目录是C:\P..原创 2020-05-20 16:12:51 · 1611 阅读 · 6 评论 -
QT实现连接SQL Server2008(QSqlDatabase)
一、软件界面二、源码#include "MainWindow.h"#include "ui_MainWindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); ui-&g...原创 2020-03-12 15:31:23 · 1000 阅读 · 0 评论 -
QT_Modbus类继承关系图
原创 2019-11-14 10:41:33 · 173 阅读 · 0 评论 -
QT各种控件风格设置(Change styleSheet...)
1、checkbox.qssQCheckBox::indicator:unchecked{ image: url(:/assist/icon/assist-uncheck.png);}QCheckBox::indicator:unchecked:hover{ image: url(:/assist/icon/assist-uncheck-hover.png);}...原创 2019-11-13 11:15:52 · 850 阅读 · 0 评论 -
Qt与OpenCV图像的压缩与传输
1、Qt版本: 6.2MB 压缩成 170KB, 49倍(1)、发送方QImage image("/home/maya/Desktop/image/IMG00054.BMP");QBuffer buf;buf.open(QIODevice::ReadWrite);image.save(&buf,"JPG"); //用于直接将 image 压缩后 保存在 QByteArray 中...原创 2019-11-12 17:19:36 · 1135 阅读 · 0 评论 -
windows下使用QT实现文件管理器
1、简介此工程实现了文件管理器的基本工程,复制、粘贴、剪切、重命名、删除、新建文件夹、新建文档,实现双击图片打开图片浏览图片,实现双击txt文档打开浏览。2、软件界面(1)、列表模式(2)、图标模式3、复制、粘贴、剪切、重命名、删除、新建文件夹、新建文档4、双击浏览图片5、双击浏览txt文档...原创 2019-11-04 23:32:00 · 6434 阅读 · 14 评论 -
QT实现串口调试功能(QSerialPort类)
1、简介 本博文主要是介绍如何使用QT的串口类(QSerialPort)来实现串口的开发,使用这个类来实现串口的基本功能,比如如何查询本机可用串口(com),打开串口、设置串口波特率、设置数据位、设置校验位、停止位等窗口属性。还实现了十六进制收发显示数据,经过测试,本工程代码可以在WIN7+QT 或者 Ubuntu + QT环境下正常运行。2、主要使用QSerialPort类的借口...原创 2019-10-29 22:30:47 · 1159 阅读 · 0 评论 -
QT下实现YUV422与HImage互转(Ubunt + QT + halcon环境实现)
1、简介 在工业相机做工件测量时,有时候需要把测量图像保存下来,以便日后查看对比。但是工业相机的存储容量小,为了 减少图像的存储容量,以便可以存储更多图像,有时候需要把RGB的图像,压缩保存。压缩的格式有很多比如jpg、png 、yuv等都是压缩图像的一种方式。但是jpg、和png这两种压缩方式是有损压缩。为了达到压缩的目的,又不使 图像因为压缩失真,往往回...原创 2019-10-26 08:21:25 · 1071 阅读 · 0 评论 -
QT获取本机的IP地址、mac地址、mask地址和广播IP(Ubuntu QT环境下实现)
1、简介用QT做网络通讯数据传输时,要先获取本机的网卡的IP地址、mac地址、mask地址和广播IP,以便创建socket进行通讯数据传输。2、本博文主要封装函数:(1)、getIP():获取本机网卡的ipv4地址。(2)、getMac():获取本机的mac地址。(3)、getNetmask():获取本机网卡的子网掩码。(4)、getBroadcastIP():获取本机网卡的广播IP地址...原创 2019-10-24 15:28:29 · 1850 阅读 · 2 评论 -
QT检测本机网线拔插(Ubuntu Qt环境实现)
1、简介在做网络通讯时,有时候需要检测本机的网线是否插上,以便提示用户。为了实现本功能,现在在QT环境下调用linux C++的socket来检测检测网线的拔插。2、主要封装好的接口(API)(1)、getEth0():此函数的功能是,本机中第一块有效网卡的名称(2)、isNetworkOn():此函数的功能是,检查本机是否插上网线,(本函数如果放到定时器调用,可以时时检测网线的拔插)...原创 2019-10-23 21:05:21 · 2170 阅读 · 0 评论 -
QT使用arping/ping命令,判断指定IP网络能否连通
1、向指定IP发送ARP请求,当收到或发完第一个包后就自动退出。2、arping用于判断指定IP能否连通, 不要用ping, ping慢. arping快, 1ms以内。3、使用ping命令时,主机的防火墙或网络连接有问题,都有可能ping不通。#include <QString>#include <QDebug>#include <QProcess>...原创 2019-10-23 11:13:32 · 4197 阅读 · 2 评论 -
halcon字符识别(QT调用halcon库实现字符识别(OCR识别))
1、简介halcon是一款和图像处理库,里面的算法很多,效率很高。由于项目中要做字符识别(OCR),因为halcon算法丰富,算法效率高,开发起来方便省时。所以选择了halcon库为项目的图像处理基础库。2、halcon字符识别用到的类。(1)、HImage类:halcon的图像数据存储类。(2)、HTextModel类:halcon字符识别算子类。(3)、HTextResult...原创 2019-10-22 16:54:43 · 2138 阅读 · 1 评论 -
halcon识别二维码(QT调用halcon库实现)
1、简介halcon是一款和图像处理库,里面的算法很多,效率很高。由于项目中要识别二维码,然后选择了halcon库,因为halcon算法丰富,开发起来方便省时。2、halcon识别二维码用到的类。(1)、HImage类:halcon的图像数据存储类。(2)、HDataCode2D类:halcon识别二维码的算法类。(3)、HTuple类:halcon存储基本数据的类。类似C++...原创 2019-10-19 14:20:26 · 1527 阅读 · 6 评论 -
QT实现自定义旋转矩形(QRotatedRect)
1、QT实现了QPointF、QLineF、QRectF等数据类型,但是就是没有实现旋转矩形的数据类型表示,所以为了方便使用,就自定了旋转矩形QRotatedRect,用来表示带角度方向的矩形。2、旋转矩形QRotatedRect的成员如下:float cx:矩形中心X坐标float cy:矩形中心Y坐标float w:矩形宽度float h:矩形高度float angle:矩形...原创 2019-10-18 17:42:47 · 5367 阅读 · 0 评论 -
halcon识别一维码(QT调用halcon库实现)
1、简介halcon是一款和图像处理库,里面的算法很多,效率很高。由于项目中要识别一维码,然后选择了halcon库,因为halcon算法丰富,开发起来方便省时。2、halcon识别一维码用到的类。(1)、HImage类:halcon的图像数据存储类。(2)、HBarCode类:halcon识别一维码的算法类。(3)、HTuple类:halcon存储基本数据的类。类似C++的in...原创 2019-10-15 16:32:08 · 917 阅读 · 0 评论 -
QT实现一维码识别之Code128
一、简介:Code128码的编码方式属于比较复杂的一种条码,应用起来比较灵活,在1981年开始流行起来。二、Code128码的特点如下:1、有A、B、C三种不同的编码方式,可以提供128个标准的ASCII code字符。包括:0~9的数字,26个大小写英文字母,各种特殊符号,以及控制码。2、有一个校验码,可以自由决定是否需要打印校验码。3、在同一个条码中,可以有A、B、C编码方式,...原创 2019-10-13 13:49:32 · 2054 阅读 · 0 评论 -
Halcon的HImage转QT的QPixmap
QPixmap HImage2Pixmap(HImage* pImage){ if (pImage == NULL || !pImage->IsInitialized()) return QPixmap(); Hlong w, h; HString hType; //获取HImage的通道数 HTuple hChannels = pImage->C...原创 2019-10-12 13:36:55 · 961 阅读 · 0 评论 -
QT+Halcon实现螺纹检测
工业上要检测螺丝的内外直径、内外牙距、内外角度,现在比较好用的图像处理库,开源的opencv,收费的有halcon。为了实现螺纹检测,和对比螺纹检测拿个库比较好。分别用opencv和halcon实现了螺纹检测,通过对比发现用halcon实现的效果比较。现在用博客把实现过程记录下来:1、需要检测的螺纹数据如下:2、为了实现检测螺丝以上数据,螺纹内径、螺纹外径、螺纹外牙距、螺纹...原创 2019-10-12 13:03:34 · 6237 阅读 · 10 评论 -
Qt5.0以上实现QFtp
1.去下载Qt4.8.7的所有源码。2.从Qt4.8.7中提取出QFtp类,生成QFtp.h和QFtp.cpp文件。3.把QFtp.h和QFtp.cpp文件导入工程,实现FTP的所有功能。4.测试例子实现了登录FTP服务器、上传文件到FTP、从FTP下载文件、在FTP新建文件夹、重命名FTP的文件夹和文件等所有操作FTP服务器的功能。5.测试例子的界面布局如下。6.登录FT...原创 2019-08-05 17:12:47 · 620 阅读 · 4 评论 -
QT使用qtsoap调用WebServer
1.把qtsoap库提成两个文件qtsoap.h和qtsoap.cpp。2.把qtsoap.h和qtsoap.cpp文件导入工程。3.使用公用的天气预报webserver测试(http://ws.webxml.com.cn/WebServices/WeatherWS.asmx)4.测试例子界面布局如下。5.测试结果如下。6.如果需要了解如何使用qtsoap.h和qt...原创 2019-08-05 16:47:14 · 946 阅读 · 0 评论 -
qulonglong字节操作
//循环: z iSize4 k iSize3 j iSize2 i iSize1// {00000000 000000000} {00000000 000000000} {00000000 000000000} {00000000 000000000}//数据: ...原创 2019-05-20 18:08:31 · 1124 阅读 · 0 评论 -
QT——正则表达是符号解释及QRegExp的用法
一、以下字符在Qt的正则表达式的含义0|[1-9]\\d{0,4} --> 0-99999on_\w+_\w+ --> 表示任意符合qt规则的槽函数T[\d]{3}例子 解释[abc] 方括号中间是几个字母,表示a,b,c这三个字符中的某个字符[^abc] 除了a,b,c以外的某个字符[a-z] 横杠表示范围,匹配a到z之间(包括a和z)...原创 2019-04-28 10:26:12 · 1828 阅读 · 0 评论 -
QT实现Mat转QImage并把场景(QGraphicsScene)的Item渲染到图片
//从当前场景获取所有Item QList<QGraphicsItem *> itemList = m_pScene->items(); //1. 从读取图片 Mat matRGB = imread("/home/mark/Desktop/opencv.bmp"); QImage qImage(matRGB.data, matRGB.cols, matRGB.r...原创 2019-01-04 16:23:03 · 1967 阅读 · 5 评论 -
QMenu----QT鼠标右键弹出菜单
在用QT编程时,有时候要实现鼠标右键弹出菜单的功能.下面代码演示鼠标右键弹出菜单.1.新建一个QT工程,点击MainWindow.ui,鼠标右键Go to slot.....,添加customContextMenuRequested(const QPoint &pos)事件2.找到属性页中的contextMenuPolicy,把DefaultContextMenu改成CustomC...原创 2018-11-28 17:36:31 · 16450 阅读 · 6 评论 -
QTableWidget详细用法
1.设置列数 列宽ui->tableWidget->setColumnCount(4); //设置列数ui->tableWidget->setColumnWidth(0, 90); //0 设置列宽ui->tableWidget->setColumnWidth(1, 190); //1 设置列宽ui->tableWidget->setC...原创 2018-10-24 16:05:07 · 46548 阅读 · 4 评论 -
QList与QVariant互相转换
//QList转QVariantQList<int> list1;list1 << 11 << 22 << 33;QVariant v = QVariant::fromValue<QList<int> >(list1);//QVariant转QListQList<int> list2 = v.value原创 2018-10-20 10:46:47 · 13363 阅读 · 3 评论