自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (10)
  • 收藏
  • 关注

原创 QT子线程中使用主线程的方法

Qt子线程中使用主线程的方法

2023-02-10 18:01:04 1117 1

转载 C++ typeid关键子使用注意事项

C++ typeid关键字使用注意事项

2023-01-17 10:04:52 158

原创 【无标题】

本文章主要总结了C#调用C++接口的调试和调用注意事项。

2022-10-30 19:24:45 137

原创 VS生成动态库和VS加载QT生成动态库总结。

VS生成动态库注意:vs生成动态库需要在到处的函数中加入(__declspec(dllexport) )标识符。如果没有标记需要到处的函数只会生成dll文件,不会生成lib文件。如下代码需要导出add函数:__declspec(dllexport) int add(int a, int b);VS加载QT生成动态库注意:1、在创建lib工程的时候不要勾选lib否则只能生成静态链接库。如下图:1、在需要导出的类中加入文件关键字宏:QTCLASSLIBRARY1_EXPORT一般是工程名称大写

2021-04-22 14:48:14 1026

原创 C/C++ 函数指针使用总结

函数指针指向某种特定类型,函数的类型由其参数及返回类型共同决定,与函数名无关。举例如下:int add(int nLeft,int nRight);//函数定义该函数类型为int(int,int),要想声明一个指向该类函数的指针,只需用指针替换函数名即可:int (pf)(int,int);//未初始化则pf可指向int(int,int)类型的函数。pf前面有,说明pf是指针,右侧是形参列表,表示pf指向的是函数,左侧为int,说明pf指向的函数返回值为int。则pf可指向int(int,int)类

2021-04-20 14:28:37 95

原创 QT 自带进度条类的使用案例

QProgressDialog的使用案例#include <QtWidgets>#include <QtConcurrent>#include <functional>using namespace QtConcurrent

2021-04-20 10:42:46 101

原创 QT强制类型转换

QT强制类型转换在C++开发中经常要进行数据类型的强制转换。刚开始学习的时候,直接对基本数据类型强制类型转换,如float fnum = 3.14; int num = (int)fnum;随着C++标准的发展,又提供了dynamic_cast、const_cast 、static_cast、reinterpret_cast等高级安全的强制转换方法。dynamic_cast: 通常在基类和派生类之间转换时使用,run-time cast。const_cast: 主要针对const和volatile

2021-02-23 13:37:26 2099

原创 VS 配置外部DLL的引用路径

VS 配置外部DLL的引用路径右键项目,属性->配置属性->调试->环境,在这里写入可执行文件运行时的环境路径,格式为:PATH=ABC,如PATH=$(SolutionDir)/env这样,我们就可以把运行时需要的dll放在env文件夹下,便于管理,而不必再将DLL放在EXE所在目录下。但注意的是:这个配置只在VS运行时才有用,程序发布时没什么用。程序发布时DLL还是要和EXE放在同一目录,其它资源也要相对EXE配置好层次,比如原来的PROJECT下引用了 shader/vert

2021-02-22 14:41:43 1555 4

原创 Qt写串口通信

Qt写串口通信前言:如果用qt写程序作为上位机,然后通过和usb和下位机通信的时候,就需要用到qt中的串口通信了。使用qt中的串口通信的时候需要用到的两个头文件分别为:官方文档使用串口需要包含的库文件一般来讲qt串口通信需要经过7步:1、设置串口名(如COM1):serial = new QSerialPort; serial->setPortName(ui->PortBox->currentText());同时可以使用自动寻找可用串口的方法,直接自动设置了fore

2021-01-25 12:38:46 2221

原创 QT 中scene removeItem() 的使用注意事项

QT 中scene removeItem() 的使用注意事项Qt中使用视场scene->removeItem() 只是从视场中移除对象,图项的内存并没有释放,如过需要及时释放内存还是需要delete,或者当视场被销毁时同时释放。

2021-01-21 16:00:30 1816

原创 QImagne和Mat间相互转换

QImagne和Mat间相互转换cv::Mat QImage2cvMat(const QImage &image, bool bGray = true) { cv::Mat mat; switch (image.format()) { case QImage::Format_ARGB32: case QImage::Format_RGB32: case QImage::Format_ARGB32_Premultiplied: mat = cv::Mat(image.

2021-01-20 15:56:38 94

原创 QT可通过控制点改变大小的矩形框

QT可通过控制点改变大小的矩形框源码下载链接:https://download.csdn.net/download/weixin_43607300/14094294效果如下:部分代码#include "DrawRect.h"DrawRect::DrawRect(QRect rect){ codec = QTextCodec::codecForName("gbk"); m_Rect = rect; //创建控制点 newControlPoint();}DrawRect::Dr

2021-01-11 09:52:37 1167

原创 使用QT中的QSqlQuery创建数据库及使用QSqlTabelModel删除,增加,修改数据库

使用QT中的QSqlQuery创建数据库及使用QSqlTabelModel删除,增加,修改数据库1.QSqlDatabaseQSqlDatabase类提供了一个接口,用于通过连接访问数据。QSqlDatabase的一个实例表示连接。该连接通过受支持的数据库驱动程序之一提供对数据库的访问,该驱动程序派生自QSqlDriver。1.1 创建一个数据库示例如下QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");db.setDatabaseName

2021-01-05 17:36:00 1209

原创 VS中设置桌面显示图标

VS中设置桌面显示图标创建一个记事本,将后缀名改为.rc。IDI_ICON1 ICON DISCARDABLE "girl.ico"

2021-01-04 13:08:36 680 1

原创 QT 黑色风格+白色风格+淡蓝色风格样式表。

QT 黑色风格+白色风格+淡蓝色风格样式表下载链接:加载样式表程序: //加载样式表 //QFile file("black.css"); //QFile file("white.css"); QFile file("blue.css"); if (file.open(QFile::ReadOnly)) { QString qss = QLatin1String(file.readAll()); QString paletteColor = qss.mid(20, 7); qAp

2020-12-31 17:04:47 1523

原创 QT样式表的使用

QT样式表两种方式的使用一、在程序中设置样式表// 对单个控件;ui.pushButton->setStyleSheet("QPushButton{border-radius:5px;background:rgb(150, 190, 60);color:red;font-size:15px;}")// 对整个界面(包括界面上所有的控件)this->setStyleSheet("QPushButton{border-radius:5px;background:rgb(150, 190,

2020-12-31 10:08:51 207

原创 QT解决UI设计器显示和运行显示不一致问题

QT解决UI设计器显示和运行显示不一致问题在主程序中加上这段代码 if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)) QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling,true);

2020-12-29 19:28:39 1310

原创 QT在VS中创建解决中文问题。

QT在VS中创建解决中文问题。在需要用到中文的类 .cpp文件上加上该段代码。#if _MSC_VER >= 1600#pragma execution_character_set("utf-8")#endif

2020-12-29 17:05:42 82

原创 opencv绘制灰度直方图

绘制灰度直方图void testshowHistoCallback(){ //把图像分割成三个通道BRG vector<Mat> bgr; split(img, bgr); //创建有256个子区间的直方图 //值的可能数量为【0.255】 int numbins = 256; //设置范围(BGR)最后一个值不包含 float range[] = { 0, 256 }; const float* histRange = { range }; Mat b_hist,

2020-12-28 17:44:14 286

原创 opencv中的直方图均衡化

opencv中的直方图均衡化 Mat result; //BGR图像转化为YCbCr Mat ycbcr; cvtColor(img, ycbcr, COLOR_BGR2YCrCb); //图像通道分离 vector<Mat> channels; split(ycbcr, channels); //只均衡Y通道 equalizeHist(channels[0], channels[0]); //合并结果通道 merge(channels, ycbcr); //将Y

2020-12-28 17:37:49 124

原创 opencv YML文件读写(FileStorage 类)

opencv关于YML的读写 //创建写 FileStorage fs("test.yml", FileStorage::WRITE); //保存ini int fps = 5; fs << "fps" << fps; //创建mat文例 Mat m1 = Mat::eye(2, 3, CV_32F); Mat m2 = Mat::ones(3, 2, CV_32F); Mat result = (m1 + 1).mul(m1 + 3); //打印结果 fs &

2020-12-28 12:00:06 418

原创 Qt 通过重写QGraphicItem实现绘制、拖动、缩放、旋转矩形

Qt 通过重写QGraphicItem实现绘制、拖动、缩放、旋转矩形1.实现绘制矩形:只要定义一个全局变量QRectF m_oldRect,在外面矩形大小传进来,然后在paint函数里面绘制这个矩形就行2.实现拖动矩形:重写mousePressEvent,mouseMoveEvent,mouseReleaseEvent,记录鼠标按下的起始点和移动时候的点,并用moveBy()函数来移动矩形即可3.实现缩放:在矩形内部靠近4条边的地方定义4个矩形,当鼠标按下的时候在这4个矩形方框内,则将矩形往4个方向拉

2020-12-27 21:59:49 2594 1

原创 QtConcurrent之filter函数的使用

QtConcurrent之filter函数的使用filter是过滤的意思,QtConcurrent::filter函数就是用来实现并行过滤的。filter和map函数的使用方式是一样的,分为filter、filtered和filteredReduced三个函数。1.filter函数过滤一个序列,该序列的内容被修改。2.filtered函数过滤一个序列,远序列的内容不被修改,过滤后的结果存在一个新的序列中。3.filteredReduced函数过滤一个序列,过滤后的结果用一个函数计算最终获得一个值

2020-12-25 11:20:53 411

原创 QtConcurrent之map函数的使用

QtConcurrent之map函数的使用学习了QtConcurrent的run函数使用,重点是在说QtConcurrent实现了多线程。实际上应该说多线程让QtConcurrent实现了并行可能更准确点。不然map函数就不好理解了。那么QtConcurrent的map函数又有什么用呢?这就要先看看map的参数了。map函数有两个参数,第一个是序列(如QList),第二个参数是一个函数。它的作用就是同时用第二个参数来计算第一个参数中的每一个元素,且结果直接覆盖到元素中。如QtConcurrent::m

2020-12-25 11:15:58 937

原创 Qt多线程之QtConcurrent

Qt多线程之QtConcurrent我觉得QtConcurrent有个很霸气的介绍。用谷歌翻译如下:“QtConcurrent命名空间提供了高级API,可以在不使用低级线程原语的情况下编写多线程程序”。不知道什么叫高级,我觉得应该是指使用时不关心底层多线程的实现而显得高层次吧。本想概括一下QtConcurrent的使用步骤,奈何发现QtConcurrent根本就不是个东西啊,它只不过是个命名空间。真正发挥作用的是该命名空间下定义的函数,这里要说的就是run函数(刚开始我还以为QtConcurrent只有r

2020-12-25 10:55:39 4694 1

原创 Qt的线程池QThreadPool

Qt的线程池QThreadPool线程可以帮助我们处理耗时的操作以防止界面卡死,也可以提高程序的并发性。但线程也不是创建越多越好,因为创建、销毁线程以及切换线程都是需要消耗资源的。线程池技术的出现就是为了解决这个问题。线程池维护一定数量的线程,并充分使用它们。Qt封装的线程池类是QThreadPool,它的使用需要QRunnable来配合。概括一下使用步骤如下:1.从QRunnable派生一个类,重写run()函数。把需要子线程干的活放到run函数中。2.调用QThreadPool的start()开

2020-12-25 10:41:34 619

原创 Qt中Qimage转opencv mat图片

Qt中Qimage转opencv mat图片方法一:单通道Mat matTOimge(QImage & mage){ QImage::Format format = mage.format(); if (format != QImage::Format_Indexed8) { cout << "此函数只适用于单通道灰度图片的转换"; return Mat(); } mage.convertToFormat(QImage::Format_Grayscale8);

2020-12-24 17:27:13 477 1

原创 opencv转Qimge

opencv转Qimge(单通道灰度图像)QImage * matTOimage(Mat & mat){ if (mat.type() == CV_8UC1) { cout << "此函数只适用于单通道灰度图片的转换"; return nullptr; } QImage *testImage = new QImage(mat.cols, mat.rows, QImage::Format_Grayscale8); //创建单通道的QImage图片并分配内存 ucha

2020-12-24 16:10:13 802 1

原创 C和C++内存拷贝函数

C和C++内存拷贝函数头文件所在头文件 <string.h>或< cstring >函数原型_CRTIMP int __cdecl __MINGW_NOTHROW memcmp (const void*, const void*, size_t) __MINGW_ATTRIB_PURE;第一个参数:目的地址第二个参数:源地址第三个参数:所需要复制的字节数...

2020-12-24 15:37:44 95

原创 openCV中图片的截取函数

openCV中图片的截取函数/**@parameter cvRect:opencv中的Rect的矩形数据结构*/cv::Mat mRoiImage = mSrcImg(cvRect).clone();使用注意事项1、截取的Rect矩形大小不可以超过图片的大小。2、截取的Rect区域不可超图片区域,否则后崩溃。...

2020-12-24 13:32:43 581

原创 QT5创建文件夹

QT5文件夹的创建//创建数据处理目录 QDir dir; dir.cd(ROIimageFilePath); //关联根目录路径 if (!dir.exists(defectInformation))//判断根目录下子目录件夹是否存在 { dir.mkdir(defectInformation); //创建文件夹 }

2020-12-24 13:20:52 584

原创 QT5 XML文件文件的基本操作

基于c++QT5 文件的基本操作#include <QCoreApplication>#include <QtXml> //也可以include <QDomDocument> //写xmlvoid WriteXml(){ //打开或创建文件 QFile file("test.xml"); //相对路径、绝对路径、资源路径都可以 if(!file.open(QFile::WriteOnly|QFile::Truncate)) //可以用Q

2020-12-24 12:54:11 280

FANUC机器人使用手册。

手册包含发那科机器人的基本操作,和编辑基础,图文结合。

2022-06-19

testRect.zip

QT基于QGraphicsView框架实现对绘制矩形框的大小控制,通过控制点改变矩形框的大小以便于灵活绘制图。

2021-01-10

QT 黑色风格+白色风格+淡蓝色风格样式表

QT 黑色风格+白色风格+淡蓝色风格样式表,文件为CSS格式同。欢迎各位下载参考。

2020-12-31

基于C++ QT学习笔记

Qt 中关于各项内容的基本函数以及TCP的实例。适合初学者

2020-12-24

摄像机标定系统方法研究_汪永超.pdf

本论文描述了MATLAB 软件和 OPENCV 软件,采用张正友标定法原理,对摄像机的标定系统结果进行准确性分析,得出摄像机的标定是为得到相机的内部参数和外部参数,内部参数主要是获得相机的焦距。

2020-08-26

NewSys_2020-4-27.rar

abb机器人以串口通讯获取产品的二维码信息,从二维码的的内容获取码垛产品的长宽高,同时以PC进行以太网通讯对比产品的信息,从而进行智能码垛。该程序可作为同类项目的程序模板做为参考,欢迎各位兴趣爱好者下载。

2020-04-27

安川配套YRC1000.zip

资料包含AR1730机器人说明书、GP25机器人说明书、YRC1000 INFORM说明书、YRC1000报警代码、YRC1000 操作要领书_弧焊_0、YRC1000 操作要领书_通用_搬运用途0、YRC1000 使用说明书_1

2020-03-11

爱普生九点标定程序

爱普生九点标定RC+6.0,固定关节4方式的机器视觉九点标定程序,欢迎各位下载参考。 (注:该文件是源码,需要爱普生机器人软件内打开)

2019-03-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除