自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (6)
  • 收藏
  • 关注

原创 PyQt 及常用库的安装

pyqt5 的环境配置及常用库安装

2023-03-08 16:43:12 216

原创 pytorch 环境使用问题汇总

pytorch 环境使用的问题汇总

2023-03-08 09:15:54 204

原创 Qt:QDialog 界面美化

Qt 界面美化 qss

2023-03-01 09:51:22 4105 1

原创 用VLC开发视频播放器/组件(两种方式:libVLC / VLC-Qt)

VLC 开发播放器

2023-01-13 14:26:58 4566 2

原创 python 常用基础-注意事项

python 常用基础及注意事项

2023-01-12 11:25:04 186

原创 python-Opencv

python - opencv

2023-01-11 08:54:48 141

原创 Qt:使用Qt中的一些坑

2022-06-02 16:01:48 210

原创 Qt:自定义信号变量类型

// 1. 定义变量类型 struct User_STRUCT // 预测结果 { // ...... }; // 2. 在定义后面添加声明(告知所有用到该信号变量的对象) // 建议1、2、3 放在一个头文件,供所有类包含 Q_DECLARE_METATYPE (User_STRUCT) // 3. #include<QMetaType> // 4. 注册信号 // 4.1 自定义类 qRegisterMetaType<User_STR.

2022-05-30 09:13:55 704

原创 Qt:窗口事件传递顺序

1. 事件从 子控件 冒泡往上传递在窗口中添加一个按钮控件 btn;在 btn 类和窗口类都重载 enevt() 事件// 控件重载bool XPushButton::event(QEvent * ev){ if (ev->type() == QEvent::MouseButtonPress) { qDebug()<< "Child event: QEvent::MouseButtonPress"; return false;

2022-05-08 20:25:19 1649 1

原创 Qt:UI交互 - 改变配置内容 - 窗口标题 + * 号

1. 按指定格式设置窗口名称 // QWidget::setWindowModified: The window title does not contain a '[*]' placeholder setWindowTitle(tr("%1[*]").arg("Untitled"));2. 在设置改变时,设置窗口已修改 setWindowModified(true); setWindowModified(false);...

2022-05-06 10:43:39 1071

原创 Qt:创建菜单/右键菜单

// 重载窗口的函数 contextMenuEvent (上下文菜单) void contextMenuEvent(QContextMenuEvent *event) override; // 在实现中添加右键菜单 void MainWindow::contextMenuEvent(QContextMenuEvent *event) { addAction(new QAction(this)); addAction(new QAction(this)); addA.

2022-05-06 09:56:40 305

原创 深度学习中关键字的含义

参考backbonebackbone 骨干网。在神经网络中,尤其是CV领域,一般先对图像进行特征提取(常见的有vggnet,resnet,谷歌的inception),这一部分是整个CV任务的根基,因为后续的下游任务都是基于提取出来的图像特征去做文章(比如分类,生成等等)。所以将这一部分网络结构称为backbone十分形象,仿佛是一个人站起来的支柱。主干网络,用来做特征提取的网络,代表网络的一部分,一般是用于前端提取图片信息,生成特征图feature map,供后面的网络使用。通常用VGGNet还有你

2022-03-04 17:10:52 224

原创 PyTorch bug 总结(持续更新)

附加参考Bug1: libtorch C++ 部署时遇到,编译通过,运行报错UserWarning: Named tensors and all their associated APIs are an experimental feature and subject to change. Please do not use them for anything important until they are released as stable.解决办法: 这是 pytorch1.9 的bug,

2022-03-04 09:52:06 1887

原创 PyTorch + Conda

Python 安装 torchPyTorchJupyter notebook 切换不同的环境切换到对应的 conda 环境,安装 Jupyter kernelsconda install nb_conda_kernels

2022-02-23 15:57:36 1138

原创 C++ 多态的实现

参考链接重点了解几个关键词早期绑定 与 迟绑定虚表 与 虚表指针从内存与编译器两个角度来理解多态的实现虚表为类的静态表编译器为每个类的对象提供一个虚表指针,这个指针指向对象所属类的虚表。在程序运行时,根据对象的类型去初始化vptr,从而让vptr正确的指向所属类的虚表,从而在调用虚函数时,就能够找到正确的函数。正是由于每个对象调用的虚函数都是通过虚表指针来索引的,也就决定了虚表指针的正确初始化是非常重要的。换句话说,在虚表指针没有正确初始化之前,我们不能够去调用虚函数。

2022-01-07 20:33:29 1378

原创 InfluxDB 查询 - 时间段 - 数量 - 设定时区 - QT

以下参考:链接 QDateTime localDate = QDateTime::fromString("2018-12-11 10:40:00", "yyyy-MM-dd hh:mm:ss");//输入的时间 QDateTime utcDate = localDate.toTimeZone(zone);//拿到的是0时区的当前时间 QDateTime currentTime = QDateTime::currentDateTime();//当前时区的当前时间 QDateTime changeLoc

2021-12-20 14:56:16 3238

原创 InfluxDB post 带参数插入数据格式

参考官方文档:Line ProtocolQString InfluxdbAPI::execNonSelect(const QString & url, const QByteArray &body){ // 设置请求 头部 QNetworkRequest req(url); // 请求行 // http 不关心数据传输的细节,规定C/S的数据传输格式 // 设置数据编码格式, // application/x-www-from-urlencod

2021-12-20 11:32:08 629

原创 Qt启动/杀死外部进程

参考1启动外部线程主要有:QProcess ::execute() 阻塞主进程的方式打开(静态成员);QProcess ::start() 以主进程的子进程的方式打开(父子);QProcess ::startDetached() 以隔离的方式打开;(1) QProcess ::execute() 方法 QProcess::execute("C:\\Environment\\influxDB_1_5_2\\influxd.exe")(2) QProcess ::start(

2021-11-25 17:27:41 4341

原创 Windows python 环境配置

python 安装pip 更新ipython 安装python常用模块安装numpy 数学库使用清华镜像 - pip3 install numpy scipy matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple - pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

2021-11-23 11:26:03 629

原创 QString 使用注意事项

QString::IsNull() 和 QString::IsEmpty() QString str; // str is null, and is empty str = ""; // str is empty, is not null (存有一个字符串末尾的0,至少占一个字节)QString::toInt() QString strNum = QString::number(1.44); int num = strNum.toInt(); // 结果 num == 0 !!!QS

2021-07-28 16:51:45 322

原创 Qt Opencv 环境配置

1 Opencv安装及Path配置(略)2 Qt 调用实例说明新建一个Qt的控制台程序用作测试在.pro 文件中增加环境配置在.cpp文件使用Opencv函数2.1 .pro 包含目录 (头文件目录)// 实际根据自己opencv的安装目录INCLUDEPATH += C:/opencv2_4_13/opencv/build/include2.2 .pro 库目录(依赖目录 / lib目录)LIBS += -LC:/opencv2_4_13/opencv/build/x64/

2021-04-22 12:10:00 294

原创 Qt 开发常用方法汇总

1. exe 文件的发布(环境)2. 工程拷贝删除 user 文件

2021-01-26 15:29:30 324

原创 图论相关:Tarjan

关于 Tarjan 求强连通分量 搜了几个帖子,虽然已经讲的很详细了,但是还得自己琢磨一下,于是消化后做个笔记。参考链接:1. 休伯利安矿工、2. 我。。。我是谁?几个基本概念连通:无向图中,从任意点i可以到达任意点j;强连通:有向图中,从任意点i可以到达任意点j;弱联通:把有向图看成无向图,从任意点i可以到达任意点j; 在有向图中成为强连通分量的条件较为苛刻 所以引入强连通分量这个概念强连通分量:局部区域强连通Tarjan 求强连通分量几个计算强连通分量的时候会用到的工具:ve

2021-01-15 11:35:47 131

原创 几种路径的获取

// 获得文件夹路径1void CDemoDlg::OnBnClickedButton1(){ CString strFilePath; BROWSEINFO bi; bi.hwndOwner = NULL; bi.pidlRoot = CSIDL_DESKTOP; //文件夹的根目录,此处为桌面 bi.pszDisplayName = NULL; bi.lpszTitle = NULL; //显示位于对话框左上部的提示信息 bi.ulFlags = BIF_

2021-01-11 13:54:08 270 1

原创 嵌入式开发 00 (基础概念)

指令集:本质是一组机器码不同硬件厂家设计的CPU的架构不同,这就使得让CPU完成同一功能的动作不同:比如说:mov操作,在x86架构的CPU上,执行的是 1010…,而在ARM架构的CPU上则是0101…(CPU只认识机器码)于是相同的一组功能:{1. 向左2. 向右3. 向上4. 向下5. …6. …}在不同的CPU上对应的机器码是不一样的,所以指令集就是将上述一组功能翻译成的对应CPU的机器码集合。每个硬件厂商都有自己的一套指令集,同样一个功能指令,为了提高效率、降低功耗,厂

2021-01-08 15:42:21 149

原创 嵌入式开发 01 (51单片机学习)

从零开始学习单片机开发

2021-01-08 12:31:21 190

原创 MFC 坐标系统

参考:qingshuiyangfan DC::GetDeviceCaps(int Type) // 物理长度与屏幕像素间的转换 // 读取DC的一些打印区域信息,主要是像素和英寸方面的数据. // 使用例子: // 1. 获得显示器的总像素数 int pagecx = dc.GetDeviceCaps(HORZRES); int pagecy = dc.GetDeviceCaps(VERTRES); // 2. 计算每 100 个逻辑点对应的像素个数(这里的 100 指的是,用 dc

2020-12-29 20:11:02 294

原创 MFC 重绘(全)

WM_PAINT; 橡皮筋绘图 OnDraw(); Invalidate(); InvalidateRect(); UpdateWindow();

2020-12-28 16:42:47 297

原创 MFC 添加工具栏(全)

第1步:资源视图新建工具条(或者在原有工具条上增加)更改 ID增加悬停工具栏解释说明 tag, 具体为:选中工具栏某一格 》右侧属性 》 Prompt 》 写tag 内容,格式为 \n + 内容第2步:资源视图增加消息响应: 一种是手动添加 WM_COMMAND,手动 switch 消息;另一种是类向导直接添加...

2020-12-28 16:34:06 1381

原创 MFC 文档视图学习 2

枚举图元类型 和 颜色类型在类声明中初始化枚举类型

2020-12-28 10:16:39 124

原创 MFC 常用的几种绘图 DC

// 第 1 种: 需要手动释放 DC 资源 CDC * pDC = CWnd::GetDC(); CWnd::ReleaseDC(pDC); // 第 2 种: 自动管理 DC 资源 CClientDC::CDC // 派生关系 CClientDC dc(CWnd *); // 获得 客户区 DC // 第 3 种: 自动管理 DC 资源 CWindowDC::CDC // 派生关系 CWindowDCdc(CWnd *); // 能够获得完整窗口的 DC ,包括客户区和非客.

2020-12-24 10:34:02 295

原创 MFC 鼠标光标资源 及 更换

光标样式IDC_APPSTARTING // 标准的箭头和小沙漏IDC_ARROW // 标准的箭头IDC_CROSS // 十字光标IDC_HAND // Windows 98/Me, Windows 2000/XP: HandIDC_HELP // 标准的箭头和问号IDC_IBEAM // 工字光标IDC_ICON // Obsolete for applications marked version 4.0 or later.IDC_

2020-12-21 15:50:53 903

原创 MFC 修改窗体风格

在窗体创建之前修改BOOL CFrameWorkView::PreCreateWindow(CREATESTRUCT& cs){ // TODO: 在此添加专用代码和/或调用基类 BOOL bPreCreated = CView::PreCreateWindow(cs); cs.style &= ~(WS_HSCROLL); cs.style &= ~(WS_VSCROLL); return bPreCreated;}...

2020-12-18 09:41:11 286

原创 MFC 鼠标移入、移出窗口

转自:vigoss331首先,WM_MOUSELEAVE是鼠标离开窗口时发出的消息,但是这个消息与普通消息不同,要收到WM_MOUSELEAVE消息必须先调用 TrackMouseEvent 函数,并且每调用一次TrackMouseEvent窗口只能收到一次WM_MOUSELEAVE,也就是说如果要获得WM_MOUSELEAVE消息的话,当鼠标重新进入窗口时必须调用一次TrackMouseEvent。函数原型:BOOL TrackMouseEvent(LPTRACKMOUSEEVENT lpEven

2020-12-17 16:59:57 1716

原创 MFC 窗口分割(Dlg 为例)

1. 创建对话框工程2. 对话框类添加成员变量 CFrameWnd * m_pMyFrame; // 一个框架类对象(指针,也可以静态创建,注意命名!) // 在构造函数中 赋值 NULL // 在OnDestroy()中 delete 资源(动态创建) CSplitterWnd m_SplitterWnd; // 分割条对象3. 类视图添加两个 派生自 CFormView 的类此时资源视图会为这两个类自动添加对话框资源,可以手动在这两个对话框中添加

2020-12-08 14:18:42 1313

原创 MFC 文档视图学习 1

MFC - 菜单 / 孙鑫教程Q1:APP、CFrame、CDoc、CView 消息捕获的顺序测试:在资源中添加测试菜单右键菜单中的 Test 添加消息响应:依次为APP、CFrame、CDoc、CView都添加一个 OnTest(), 在消息响应函数中弹出一个 MessageBox() ,可以看到,消息最先被CView 拦截,如果注释掉CView的OnTest(), 然后被响应的是 CDoc,然后是 CFrame,最后是 APP。注意!APP 和 CDoc 不是从 CWnd 继承,没有

2020-12-07 20:14:08 181

原创 从 COLORREF 提取 R,G,B 值

COLORREF color =RGB(120,250,110); int r = GetRValue(color); int g = GetGValue(color); int b = GetBValue(color);

2020-12-02 14:11:05 401

原创 扉页制作

扉页制作创建一个MFC类CSplashWnd,基类是CWnd。然后自己找一张Bmp放在工程的res文件夹下,并在VS->资源视图->点击右键,添加资源,选择bitmap,令其ID号为IDB_SPLASH.然后CSplashWnd类的头文件和cpp文件如下:#pragma once// CSplashWnd.h class CSplashWnd : public CWnd{ DECLARE_DYNAMIC(CSplashWnd)public: CSplashWnd();

2020-11-30 21:05:15 549

原创 Opencv - Mat::at()

at() 访问图片像素值的时候,坐标要注意不要弄反了!Mat::at(x0, y0),中,x0 表示的是图片的行索引, y0表示的是列索引而 Rect.x 表示的是以左上角为原点的坐标值,实际上为列索引;Rect.y 则为行索引例如:Mat a = b(Range(), Range()); 中,第一个 Range 表示行区间,第二个表示列区间以下这段代码的执行结果及其是这样的 Mat test00 = Mat::zeros(5, 10, CV_8UC1); test00.at<ucha

2020-11-10 16:28:47 862

原创 Opencv 学习 - 视频操作

VideoCapture::get()VideoCapture::get(int id) id: ** CV_CAP_PROP_POS_MSEC // 视频文件的当前位置(以毫秒为单位)或视频捕获时间戳。 CV_CAP_PROP_POS_FRAMES // 接下来要解码/捕获的帧的基于0的索引。 CV_CAP_PROP_POS_AVI_RATIO // 视频文件的相对位置:0 - 电影的开始,1 - 电影的结尾。 CV_CAP_PROP_FRAME_WIDTH // 视

2020-11-10 14:23:07 643

OPC_DA服务器与客户程序开发指南PDF

终于在别的平台找到了这个资源,是个很好的OPC入门学习资料

2021-05-20

MFC 窗口分割 Demo

Demo 用 VS2015 创建。功能为:实现对对话框客户区的分割,实现的功能比较简单,可以依照这种方法为 文档视图类进行窗口管理

2020-12-08

矢量图形系统开发与编程_+Demo.rar

完整版资源,基于VC++,MFC,网上能找到的比较清晰的版本, 还附了MFC多文档 Demo 源码。 (以矢量图形系统的开发实例为主线,全面介绍和分析了MFC程序设计技术和矢量图形系统各功能的开发技术。包括各种MFC辅助工具的使用方法,与图形有关的MFC类,文档和视图的实现,鼠标交互绘图,图形的无级放缩和回溯,图形的选中,图形的删除和文档逆向操作,图形的存储组织,子图、颜色、线型管理,图形......)

2020-12-02

ActiveX Control Test Container ,TstCon32.rar 方便 ActiveX 调试的小工具

ActiveX Control Test Container ,TstCon32.rar 方便 ActiveX 调试的小工具, 亲测可用,有截图。

2020-12-01

组态软件设计与开发的相关教程

详尽介绍使用Visual C++开发组态软件的资料,主要包括组态软件矢量图、动画、通讯、数据库、语音、ACTIVEX等方面的内容。

2020-11-30

C++ 实现 暂停、继续、停止线程的线程类 和 Demo

虽然微软提供了 SuspendThread、TerminateThread 等函数“似乎”可以完成这个功能,但如果你在代码里使用这些函数,则往往会遇到各种问题。附件里是源码和Demo程序,并有详细的使用说明。(转) 亲测好用: 简单的说就是用开辟一个线程用来监测两个事件(while 循环,循环内包含了你想要处理的动作,比如此例中的更新进度条),通过控制两个事件的状态来控制循环的启动、暂停和继续。 有个小Bug: BOOL CFThread::IsThreadRunning() const { 注释 //if (FALSE == bRet) 这一段 }

2020-11-04

空空如也

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

TA关注的人

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