自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

pplxlee的博客

野生小白程序员

  • 博客(84)
  • 资源 (2)
  • 收藏
  • 关注

原创 【libuv】实现UDP转发

文章目录综述代码综述使用uv_udp_init()分别初始化得到uv_udp_t类型的接收和发送的UDP套接字udp_recv_socket, udp_send_socket。使用uv_udp_bind()函数,将套接字绑定到本机,端口设置为0则由系统分配。使用uv_udp_connect()函数,给套接字连接一个远程地址,则调用uv_udp_send()函数发送信息时,不需要指定远程地址。代码#include <assert.h>#include <stdio.h>

2021-01-06 14:42:54 2759

翻译 【Python】使用PyInstaller打包python程序文档翻译

翻译使用 PyInstaller文档PyInstaller打包python程序使用 PyInstaller常规选项生成内容选项打包内容和所在位置选项生成过程选项Windows 和 Mac OS X 的特定选项Windows 的特定选项Windows 并排程序集搜索选项(高级)Mac OS X 的特定选项很少使用的特殊选项简化命令从Python代码运行PyInstaller执行PyInstaller与Python优化使用UPX加密Python字节码确定提取位置多平台支持支持多python环境支持多操作系统捕获

2020-11-15 11:12:31 847

原创 卷积神经网络笔记

随便记录下采样可以使用卷积层kernel_size=4, padding=1, stride=2这组参数,上采样可以使用相同参数的转置卷积ConvTranspose2d;下采样和转置卷积不要使用kernel_size=3, padding=1, stride=2,小心棋盘效应;卷积神经要注意网络的感受野,尤其是编解码网络,每个点的结果只会受到其感受野的信息影响;...

2020-09-09 10:44:05 337

原创 测试caffe和pytorch结果的一致性

目录测试caffe和pytorch结果的一致性caffe模型pytorch模型和一致性测试代码测试caffe和pytorch结果的一致性以最简单的卷积为例。caffe模型name: "conv_test"layer { name: "data" type: "Input" top: "data" input_param { shape: { dim: 1 dim: 32 dim: 21 dim: 21 } }}layer { name: "conv1" type: "C

2020-08-26 14:45:26 524

原创 OpenGL离屏渲染流程代码

目录OpenGL离屏渲染初始化用于离屏渲染的`Renderbuffer`和`Framebuffer`离屏渲染绘制到窗口从离屏渲染Framebuffer读取图像到内存OpenGL离屏渲染初始化用于离屏渲染的Renderbuffer和Framebuffer// 初始化// -----------------// 生成&绑定&创建储存空间RenderbufferglGenRenderbuffers(1, &renderbuffer);glBindRenderbuffer(GL

2020-08-22 17:09:22 2353 1

原创 Windows 运行时加载动态库

下面是一个运行时加载nvcuda.dll,并检测当前驱动版本最大支持的CUDA版本的例子。#include "cuda.h"#include <stdio.h>#include <Windows.h>typedef CUresult (__cdecl *CU_DriverGetVersion)(int *);int main(){ HINS...

2019-08-27 17:41:00 1979

原创 python 列表推导式

用于从一个列表生成一个新列表格式[表达式 for 变量 in 列表 if 条件]例子:0到100(不含100)的平方列表[x**2 for x in range(0, 100)]0到1000(不含1000)中,能被3或5整除的数[x for x in range(0, 1000) if (x % 3 is 0) | (x % 5 is 0)]优势:列表生成式比直接写的循环语句更简...

2019-07-22 10:29:00 162

原创 【转载于码云代码管理最佳实践】我们团队怎么做分支管理

我们团队怎么做分支管理合并代码将别人代码合丢了发布了并不计划上线的代码代码分支非常多长期在一个分支上开发多人共用一个分支开发每次提交代码都有冲突不知道别人分支做什么用的分支管理一直是技术团队最基础的但是却最容易忽视的一块,如果你团队中也遇到上述的问题,那么,建议你可以看看我们是怎么解决这些问题的。我们团队近80人,大大小小上百个项目,历史原因一些项目属于单体应用,开...

2019-07-05 11:18:00 675

原创 【Qt笔记】QAction与QToolButton的关联

QAction可以理解为一个动作数据,包含了这个同坐相关的图标、文本、是否可用等数据和状态,以及连接对应的槽函数,用于执行这个动作。QToolButton则可以使用QAction对象作为后端,显示这个QAction的图标,关联其是否可用的状态。简单示例:QAction *exampleAction = new QAction(parent);... (省略了设置其图标...

2019-06-30 11:57:00 2952

原创 关于奇异值分解(SVD)的理解

奇异值分解实际上是将一个矩阵,分解成为两个不同维度(行数和列数)上的正交向量集之间的映射变换,奇异值则是变换时的缩放!例如上面的矩阵M就是一个5维映射到4维的变换矩阵,而SVD分解得到的奇异值和奇异向量则反应了这种映射关系,可以看出5维空间的各个正交方向上,缩放了多少后,映射到了4维的哪些方向。...

2019-06-25 09:52:00 840

原创 【QtAV】QtAV中的工厂模式

QtAV中的各个模块大量使用的工厂模式,下面对其实现进行介绍。工厂模式的使用以VideoRenderer 类为例子,他含有下面3个工厂模式相关的方法,Register方法用于给一个产品<class C>注册其ID和名称,create方法用于通过ID或名称生产一个产品实例。 template<class C> static bool Regi...

2019-06-19 14:45:00 290

原创 图像算法帧率测试框架

为了更好更方便的测试图像生成或算法的速度,设计了如下的框架,来测试生成/处理帧率。完整工程以发布github仓库,点击这里。

2019-06-14 17:48:00 245

原创 【Qt官方例程学习笔记】Application Example(构成界面/QAction/退出时询问保存/用户偏好载入和保存/文本文件的载入和保存/QCommandLineParser解析运行参数)...

The Application example shows how to implement a standard GUI application with menus, toolbars, and a status bar. The example itself is a simple text editor program built around QPlainTextEdit.Nearl...

2019-06-13 08:08:00 344

原创 【Qt官方例程学习笔记】Raster Window Example(画笔的平移/旋转/缩放应用)

这个例子显示了如何使用QPainter渲染一个简单的QWindow。值得学习的内容<QtGui>头文件#include <QtGui>就可以使用Qt GUI模块中的所有类,当然,愿意的话也可以分开各个include。QBackingStore与绘制用于管理基于QPainter的图形的窗口后缓冲区。在RasterWindow构造函数中,我们创建back...

2019-06-12 22:07:00 570

原创 【Qt官方例程学习笔记】Analog Clock Window Example (画笔的平移/旋转/缩放应用)...

这个例子演示了如何使用QPainter的转换和缩放特性来简化绘图。值得学习的:定时器事件ID检查:在定时器事件中检查定时器id是比较好的实践。QPainter抗锯齿:We call QPainter::setRenderHint() with QPainter::Antialiasing to turn on antialiasing. This makes drawing o...

2019-06-12 14:38:00 232

原创 【Qt官方例程学习笔记】Address Book Example(代理模型)

地址簿示例展示了如何使用代理模型在单个模型的数据上显示不同的视图。本例提供了一个地址簿,允许按字母顺序将联系人分组为9组:ABC、DEF、GHI、…,VW,…XYZ。这是通过在同一个模型上使用多个视图实现的,每个视图都使用QSortFilterProxyModel类的一个实例进行过滤。综述地址簿包含5个类:MainWindow、AddressWidget、TableModel、NewA...

2019-06-11 15:20:00 1000

原创 【Qt文档阅读】事件系统

在Qt中,事件对象都继承于QEvent类,它表示应用程序内部或由于应用程序需要了解的外部活动而发生的事情。事件可以由QObject子类的任何实例接收和处理,尤其是widget。本文档描述如何在典型应用程序中交付和处理事件。事件的传递事件发生时,Qt创建事件对象(QEvent的适当的子类),调用要传递到的QObject的实例的event()方法,完成事件的传递。event()方法本身不处...

2019-06-10 08:10:00 102

原创 【Qt文档阅读】Window and Dialog Widgets

Window and Dialog Widgets没有嵌入到父控件中的控件(widget)称之为窗口(window)。通常窗口带有边框和标题栏。Windows通常集成到桌面环境中,并且在某种程度上由桌面环境提供的窗口管理系统管理。例如,应用程序的选定窗口在任务栏中表示。Primary and Secondary Windows任何没有父组件的QWidget都将成为一个窗口,并且在大...

2019-06-04 21:29:00 139

原创 【Qt官方例程学习笔记】Getting Started Programming with Qt Widgets

创建一个QApplication对象,用于管理应用程序资源,它对于任何使用了Qt Widgets的程序都必要的。对于没有使用Qt Widgets 的GUI应用,可以使用QGuiApplication代替。QApplication::exec() 进入事件循环。Qt应用运行时,会产生事件并被发送到应用的widgets。事件举例:鼠标点击和键盘输入。更多相关阅读:https://doc.q...

2019-06-04 11:33:00 382

翻译 在C++中加载Pytorch模型

在C++中加载Pytorch模型下面几段将概述PyTorch提供的从现有Python模型到序列化表示的路径,该序列化表示完全可以从c++加载和执行,不依赖于Python。第一步:将Pytorch模型转换为Torch脚本Torch Script 是Pytorch模型的一种表示,可以被Torch Script编译器所理解,编译和序列化。在多数情况下,将模型转化为Torch Script只需要很少...

2019-05-22 15:44:06 9202 2

原创 Linux发布Qt程序

已经在Ubuntu上实测没有问题。创建脚本copylib.sh ,并执行 chmod 777 copylib.sh #!/bin/bashLibDir=$PWD"/lib"Target=$1lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))$(mkdir $LibDir)for...

2019-04-09 15:30:25 523

原创 Ubuntu16.04使用一些实用的命令

sudo nautilus # 新建一个具有管理员权限的窗口sudo gedit # 打开具有管理员权限的文本编辑窗口在 /etc/ld.so.conf 中可以添加动态库路径,这样,在运行可执行程序时,系统会在添加的路径中寻找动态库。sudo ldconfig # 在添加动态库路径后,使之生效在编译ffmpeg时的 ./configure --enable-shared 得到动态库...

2018-08-20 11:42:07 517

原创 【Qt5】使用QAudioOutput播放ffmpeg解码出的音频

使用QAudioOutput播放ffmpeg解码出的音频音频数据格式要想播放一段音频裸流,除了需要数据本身以外,还需要规定这段数据的格式才能正确播放。其中声道数、采样率、采样数据类型是最基本的格式内容。例如,一段声道数为2,采样率为48000Hz,数据类型为8位无符号整形的音频裸流,储存方式为:声道0的采样点0声道1的采样点0声道0的采样点1声道1的采样点1声道0的采样点2声道1的采样点2以此类推...

2018-05-26 22:53:57 4199 3

翻译 【Qt】状态机框架

英文原文链接:http://doc.qt.io/archives/qt-4.8/statemachine-api.html状态机框架提供用于创建和执行状态图的类。状态图的概念和符号基于Harel的Statecharts: A visual formalism for complex systems,这也是UML状态图起源。状态机执行的语义是基于State Chart XML (SCXML)。状态图...

2018-03-31 09:23:20 1954

原创 【Qt5】Windows下配置程序的产品、公司、版权、版本号等详细信息

在工程的pro文件中加入下面的配置# 配置图标(仅Windows有效)# 本程序使用两个图标,这样其快捷方式可以有更多选择,也可以给关联文件提供图标选择RC_ICONS += icon1.ico \ icon2.ico# 版本号VERSION = 3.0.0# 语言# 0x0004 表示 简体中文# 详见 https://msdn.microsoft.co...

2018-03-30 22:19:59 2923

原创 【Qt5】频繁调用update()若干时间后无法自动重绘界面的问题

最近在项目中遇到了这样的问题:程序的结构:主线程用于界面控制,线程1用于生成显示内容,线程2用于精确控制在正确的时刻控制界面显示生成的内容。实现方式:在线程2中直接调用显示控件的update()方法,让主线程重绘。运行效果:运行开始后的一段时间能够正常工作,但是几个小时后,会出现调用update()方法不能让控件重绘,显示控件一直显示旧的内容。但是可以通过缩放界面窗口等方法,让窗口自己重绘,能显示...

2018-03-29 10:06:32 6484 9

转载 【Qt5】QMake手册

官方Qt5的QMake手册连接http://doc.qt.io/qt-5/qmake-manual.html

2018-03-26 13:09:48 784

原创 【C++】【Qt】位兼容的枚举写法,可以按位或

用于作为有多种属性的方法的输入参数具体见Qt代码#include &lt;QCoreApplication&gt;#include &lt;QDebug&gt;class TestEnumClass{public: enum TestEnum { TEST_ALL_NO = 0x0, TEST_A = 0x0001, TES...

2018-03-12 22:23:20 1699

原创 【Qt】错误:'connect' was not declared in this scope 解决方法

这种错误主要出现在在非继承QObject的类中或者一般函数中使用connect导致,原因是connect是QObject的一个static方法。将connet替换为QObject::connect即可。

2018-02-28 12:02:35 29899

原创 【linux】linux学习笔记

Linux基础Linux命令Linux管道命令符实现两个命令组合。格式:命令A | 命令B作用:将命令A的输出作为命令B的输入。例子:echo "systemctl restart httpd" | at 23:30

2018-02-16 21:11:00 753

原创 【Qt5】写一个更容易鼠标点击并带游标的QSlider的子类

2018.02.12更新优化了游标的控件窗口属性,游标不再受任何组件的范围限制;优化了游标出现的位置;优化了鼠标点击得到的值,四舍五入得到。2018.02.22更新使用自定义信号sig_triggeredToValue,控件被触发时发射此信号,传递出滑块变化后的值,不再使用sliderMoved()信号。避免了键盘控制滑块移动不能产生sliderMoved()信号的问题。2018.04.10更新重...

2018-02-09 15:47:22 1821

原创 【Qt5】关于Qt5对xp的兼容说明

首先是编译器,Qt5可以使用msvc编译器和mingw编译器,而msvc的编译器从2015开始就对xp的支持变差,就算通过各种编译配置命令设置,能xp下运行,但是会很可能发生一些奇奇怪怪的bug。而mingw编译器没有这个问题,同一个版本可以在xp win7 win10各个系统使用,而无需其他配置。另外,Qt5目前有两个长期支持版本(Long Term Support)Qt5.6和Qt5.9,

2018-01-28 12:46:56 11347 2

原创 【C/C++】合理使用goto的若干场景

2018.02.22更新即使如此,能不用还是不要用!!!个人经验goto在一些特定场景下合理使用,不仅不会导致代码可读性和可维护性变差,反而会更容易理解和维护。场景一、多层循环跳出while(A){ ... while(B) { ... if(C) { ... goto outA; } }}outA: ...场景二、统一处理并返回int func()...

2018-01-21 17:30:06 706

原创 【Qt5】判断文件夹是否存在并新建文件夹

比如要新建这么个文件夹 F://学习资料/考研数学模拟卷可以使用如下代码: QString dir_str = "F://学习资料/考研数据模拟卷"; // 检查目录是否存在,若不存在则新建 QDir dir; if (!dir.exists(dir_str)) { bool res = dir.mkpath(dir_str); qDebug() << "新建目录是

2018-01-21 17:01:39 17253 4

原创 【C++】在VS2015中使用断言

在VS2015中使用断言非常方便,只要引入头文件#include 即可在代码中使用assert()断言。可以注意到VS中的 assert.h 是由 Microsoft Corporation 重新封装了的,只在DEBUG模式下才会生效,也符合在产品发布时,去除断言的要求。

2018-01-04 14:17:38 1371

原创 记录Qt之QOpenGLWidget的一个BUG

QOpenGLWidget在系统睡眠唤醒后有bug

2018-01-02 14:11:35 3448 7

转载 一图看完谷歌C++风格

转载自 http://blog.csdn.net/voidccc/article/details/37599203/

2017-12-30 17:51:41 1584

原创 C++中检查浮点数值有效性

今天在项目中检查到一个bug,程序会在某些情况下崩溃,最终认定是计算一个比值时,被除数和除数均为零,导致计算结果是个无效值,在后面的代码将使用这个无效值时导致了崩溃。需要对这个结果是否有效进行判断。下面列出 IEEE 推荐的对浮点型的常用函数,包括特殊值(无穷、无效)的判断:/* These are also declared in Mingw float.h; needed he

2017-12-08 16:39:06 1949

原创 QTimer与主线程

在需要精确的定时操作下,定时器和相关操作一定要放到单独线程中,如果放在主线程里,用户对界面的操作会导致定时器的槽函数不能及时响应,定时操作不精确

2017-11-10 17:47:45 4693

原创 C++的DLL库编译相关心得

若编写纯C的库,在代码中添加#ifdef __cplusplus extern "C" {#endif ...#ifdef __cplusplus }#endif 编译出来的DLL库可以给任何C/C++编译器使用。原理:extern "C"告诉编译器按照C的风格转换函数名,这样所有的编译器都可以识别。而C++不同的编译器转换不同,无法找到DLL或LIB中的对应函

2017-10-29 11:28:02 221

QtAV WIN x86 x64 依赖库

QtAV WIN x86 x64 依赖库 https://github.com/wang-bin/QtAV

2017-07-17

QtAV 1.12.0 源码

QtAV 1.12.0 源码 https://github.com/wang-bin/QtAV

2017-07-17

空空如也

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

TA关注的人

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