自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不甘平凡的小鸟的专栏

多媒体应用,视频编解码,硬件加速,计算机绘图

  • 博客(38)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 匈牙利算法的实现

问题出在:在进行“指派”的时候,方案有很多种,一般来说,先指派0最少的行,输入矩阵的每一行可以理解成一个工人做不同任务的时间,每一列则是每一项任务,不同工人来做需要的时间。遵循选择多的“礼让”选择少的的原则,先指派0最少的行,再指派0多的行,我们将此指派策略为策略A;我想的办法是,当按照“优先指派0少的行”进行指派,得不到完美匹配的时候,穷举所有的指派(当然,可以提前结束穷举,当指派的行数跟策略A有增加的时候可提前结束穷举指派的情况),然后再往下走。

2024-04-02 16:27:50 245

原创 Adobe illustrator CEP插件调试

先将模式切换到Debugging,调试目标选择illustrator,打开要调试的jsx,然后就可以运行、调试了。点index.html即可进入调试。代码里敲入debugger,即可命中断点。然后运行illustrator,打开插件。打断点:要在鼠标光标所在的行打断点:F9。下载一个80以下的版本。

2024-02-27 13:48:00 967

原创 flutter windows 配置

flutter 配置

2022-11-19 20:11:09 788 1

原创 使用SWIG编写python的扩展

C++编写python3的扩展

2022-08-01 15:40:19 757

原创 动作捕捉(Motion Capture)文件BVH的解读笔记

动作捕捉文件的一些解读

2022-07-21 12:27:43 1763

原创 CUDA流并行的思考

不少博客在介绍流任务并行时,都会说“为了高效利用多个流,将操作放入流的队列时应采用宽度优先方式而非深度优先”。其实不然。当H2D和D2H是同一个引擎执行时,确实流宽度优先能获得更高的效率。但是,当H2D和D2H是不同引擎执行时,流深度优先反而是效率更高的。假设H2D和D2H的执行时间都是Tc,kenel执行的时间是2*Tc,当H2D和D2H是不同引擎执行时,深度优先的总执行时间是7Tc,宽度优先的执行时间是8Tc。...

2022-03-09 11:24:14 591

原创 C++子线程中调用python代码

项目需要C++调用python的算法,由于python算法比较耗时,因此采用在C++里启动working thread来调用python脚本,python代码里含有cv2.imread()等opencv的调用,在子线程里调用会卡死。解决办法://1,主线程初始化python时,需要使能多线程:Py_Initialize();PyEval_InitThreads(); //2,主线程中,创建子线程之前:Py_BEGIN_ALLOW_THREADS// 创建子线程并执行子线程Py_END

2021-12-03 12:48:42 3622

原创 解决C++调用python传递中文路径的问题

解决C++调用python时的中文路径问题;

2021-12-02 15:49:36 1219 1

原创 PyOpenGL的环境配置心得

使用pyqt5+pyopengl的注意项

2021-11-27 21:46:33 1374

原创 CUDA线程调度

1,一个GPU会有多个SM(Streaming MultiProcessor),SM之间是并行的;2,一个SM可以同时处理多个Block的多个wrap,也就是说,同一时刻,一个SM内,不止只有一个wrap在执行;3,SM处理完一个Block后,才会处理下一个Block,也就是说例如SM可以同时处理3个Block,那么这3个Block的其中一个处理完后,才会处理第四个Block。4,一个wrap的线程会分配到32个(假设一个wrap的线程数量是32)CUDA core,也叫stream proce

2021-09-11 22:32:31 884

原创 使用QTextDocument绘制富文本

void QtTest::paintEvent(QPaintEvent * event){ QPainter painter(this); painter.translate(0, 10); QString strHTML = ui.textEdit->toHtml(); // 从QTextEdit控件中提取富文本,绘制在界面上。 QTextDocument doc; doc.setHtml(strHTML); doc.setTextWidth(27.

2021-03-26 10:13:48 1241

原创 关于Qt中的Q_D,Q_Q

扒了下QComboBox的源码,里面使用了大量的Q_D,Q_Q宏,记录一下:#define Q_D(Class) Class##Private * const d = d_func()#define Q_Q(Class) Class * const q = q_func()看看d_func和q_func:template <typename T> static inline T *qGetPtrHelper(T *ptr) { return ptr; }template &l

2021-03-16 14:47:00 3558

原创 自定义QComboBox显示的文本

最近在做个控件,大概是要实现QComboBox下拉视图是树状的,选中叶子节点后,需要将该叶子节点到跟节点经过的节点文本串起来,例如:选中了subsubItem1后,comboBox需要显示 item1-subItem1-subsubItem1。下拉视图通过QTreeWidget *tree = new QTreeWidget;ui.comboBox->setModel(tree->model());ui.comboBox->setView(tree);实现。问题是

2021-03-16 14:21:27 1841 1

原创 在.cpp中编译thrust出现的错误解决

新建CUDA工程,新建thrustTest.cpp,键入如下代码:#include <thrust/device_ptr.h>#include <thrust/device_vector.h>#include <thrust/copy.h>#include <thrust/fill.h>#include <thrust/replace.h>#include <thrust/functional.h>#include.

2020-12-04 16:51:01 1076

原创 CUDA kernel的执行顺序

一般来说,cuda的kernel是顺序执行的,不管是在哪个流上执行kernel,kernel执行引擎会顺序执行kernel。不过对于支持并发kernel的gpu来说,kernel是可以并发执行的。参见CUDA的sample :6_Advanced\concurrentKernels...

2020-04-11 22:05:56 1647

原创 Qt 5.9使用qmake -tp vc xxx.pro转成vs工程文件遇到的问题

有时候想在VS中调试QT的工程,要么使用VS的QT tool直接打开pro文件,要么转成VS的项目文件,例如我使用的是Visual studio 2017 64bit,打开Qt的命令行Qt 5.9 64-bit for Desktop(MSVC 2017):打开命令行后,进入到.pro文件所在目录:然后再命令行里敲入:qmake -tp vc xxx.pro回车后出现:msvc...

2019-11-13 15:52:27 2065 2

原创 vs2017 加入GL/gl.h的错误

在VS工程中加入#include <GL/gl.h>后编译,得到如下一堆错误:解决办法:在#include <GL/gl.h>前,#include <windows.h>并且,需要链接上opengl32.lib...

2019-11-13 14:21:42 1997

转载 SOA AOS 面向对象与面向数据

转载自https://blog.csdn.net/debugconsole/article/details/17788979SOA 数组的结构与AOS结构的数组,是面向数据和面向对象设计的区别之一。在需要高频率(如渲染循环中)访问数据的时候,一般情况下SOA的效率高于AOS,因为将需要频繁访问的数据连续存放会大大提高访问速度。虽然AOS的结构可能更适合面向对象设计,但是在高度依赖效率的地...

2019-08-22 15:52:54 1204

原创 winsparkle简单使用说明

需要一个web服务(支持HTTPS)来存放更新包以及对应的更新信息。(个人实验,配置Tomcat支持HTTPS,后来发现http也可以)winsparkle库的功能是,通过HTTPS检测更新(通过web端的.xml文件的内容,判断web上的版本与当前程序版本的新旧),下载更新包到临时文件夹,打开更新包。一 获取库从 https://github.com/vslavik/winspark...

2019-01-09 18:47:38 3159

原创 QT 使用CDB调试,调试窗口消失问题

本来已经配置好了CBD的路径的:1)安装windbg ,我安装的是64位版本,然后在qt creator的 “工具”、“选项”里可以自动检测到cdb:当然也可以手动配置cdb.exe的路径。2)设置调试器:选择调试器,然后就可以在qt工程里调试了。后来遇到个问题,就是开始调试后,什么堆栈窗口啊、局部表达式窗口啊都不见了,直接就只有断点所在的代码:后来才发现,这些...

2018-09-05 09:56:37 4629

原创 Qt关于mouseMoveEvent的捕捉以及setMouseTracking

一、对于单个Widget而言,要想在鼠标不按下的情况下捕捉mouseMoveEvent,则对该widget执行:setMouseTracking(true);二、对于父子窗口而言,父窗口若想捕捉到鼠标在子窗口上方的mouseMoveEvent,则父子窗口都需要执行:setMouseTracking(true);并且子窗口并未对该事件进行处理,即没有accept或ignore该事...

2018-08-24 17:19:55 6632 3

原创 QWidgetAction实现鼠标滑过菜单项图标高亮显示

需求是鼠标滑过菜单项时,菜单项的文字、icon以及子菜单的小箭头都要高亮显示,qss中只能设置item背景色、文字颜色以及子菜单小箭头的样式,icon的图片不能切换,另外曾经想过用indicator(对action setCheckable(true)后,此子控件在qss中会生效)代替icon,因为indicator可以在qss中定制,但是这样一来所有的action的图标都是一致的了,这明显不符合...

2018-08-24 13:16:13 8186 3

原创 AdaBoost的一点记录

AdaBoost通过每次训练一个弱分类器并计算其错误率来更新样本的权值,使得分类错误的样本的权值更大,从而在下一次训练时得到更多关注,对分类器的分类结果影响更大。AdaBoost的算法流程:在计算第 t 次迭代的错误率  时,要把样本的权值考虑进去,更具体的,其中  是第 i 个样本在第 t 次迭代时的权值 ,即,当前弱分类器的错误率是预测错误的样本的权值之和。根据公式,被分类...

2018-08-15 15:42:32 393

原创 Qt WA_TranslucentBackground 导致视频渲染不了的问题

使用QT5.7 + VS2015做的试验,视频渲染使用D3D9。发现的规律是:顶层窗口(指父窗口为NULL的窗口)如果设置了 this-&gt;setWindowFlags( Qt::FramelessWindowHint); this-&gt;setAttribute(Qt::WA_TranslucentBackground,true);那么不管是用该顶层窗口本身的窗口句柄,还是...

2018-08-07 19:20:21 5313 4

转载 QtQuick---场景渲染(Scene Graph)

转载自:QtQuick基础教程(四)---场景渲染(Scene Graph)在Qt5之前,GUI开发使用的是现在的QtWidgets,已经被大家所熟悉,ui描述界面布局组合C++细节实现,实现效果很好,界面开发的速度还算中肯。在不具备开发自定义UI又需跨平台(C++源码)的组织和个人面前,几乎是不二选择。但在移动开发面前不灵了,因为QtWidgets本质是使用平台绘图工具来绘绘制界面,而每个界...

2018-07-30 09:13:27 5916 2

转载 公钥、密钥和数字证书

转自 我理解的数字证书-1-公钥,私钥和数字证书英文原文地址:http://www.youdzone.com/signature.html若下文有任何错误,请告知我,谢谢。[email protected]主角介绍:Bob and Alice提起RSA加密算法,公钥和私钥,多数文章都要使用Bob和Alice这两位人物。他们的创造者名叫Rivest,是RSA之父。他为了在避免在描述中...

2018-07-25 15:58:26 19184 6

原创 VC++编程中的字符集问题

使用visual studio 进行windows编程时,不可避免会遇到字符集(character set)的问题,VS提供两种字符集,一种是多字节字符集,另一种是unicode字符集。1,多字节字符集,英文字符占1个字节,一个中文字占2个字节,使用_tcslen计算一个中文的字符长度为2;2,Unicode字符集,英文字符占2个字节,一个中文占2个字节,使用_tcslen计算一个中文的字符长度为...

2018-06-25 14:38:01 1225 1

原创 OCX控件在web页面不能加载的问题

1,问题描述:写了个OCX,在本地静态html文件里加载,双击用IE打开,能够正常加载OCX控件,调用其方法也正常,把测试的html文件放入apache目录,通过IE 敲入localhost访问也正常,但是部署到服务器上,通过客户端PC访问服务器IP的方式,却不能加载OCX,其方法也调用不了。2,问题解决,上网查了下,以及根据以往的对接经验,做如下设置:1)在IE里把web服务的IP加入受...

2018-06-19 14:09:16 26502 4

原创 Visual Studio 2008 设置UAC控制为requireAdministrator无效的问题

最近突然发现嵌入了cef 3.3325浏览器插件的MFC程序默认不是管理员权限打开的,检查了下工程配置:UAC执行级别已经配置成requireAdministrator,生成的exe图标上仍旧没有出现小盾牌。个人感觉是哪里的配置与此处的冲突了,想起了嵌入cef时在“生成后事件”里添加了命令行来嵌入清单文件:于是打开xxx.exe.manifest,果然这里设置了权限仍为asInvoker:把“as...

2018-06-01 09:16:52 3931

原创 使用cef3.3282.1734版本嵌入到vc工程debug版无法显示页面问题解决

由于项目需要,近日在http://opensource.spotify.com/cefbuilds/index.html下载了cef3.3282.1734作为客户端的浏览器库,使用该库自带的demo(cefclient、cefsimple)测试均没什么问题,debug\release版本也可以正常加载显示页面,但是我把它集成到自己的mfc工程后却发现debug版的库无法加载页面,在任务管理器里查看...

2018-06-01 09:06:51 1235

转载 RTP报文头中的SSRC和CSRC

以下内容转载自http://www.360doc.com/content/11/1009/15/496343_154624612.shtml和https://www.cnblogs.com/yoyotl/p/5650101.html同步信源(SSRC)标识符:占32位,用于标识同步信源。该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的SSRC。·特约信源(CSRC)标识符:每个CS...

2018-04-03 16:01:43 28494 3

原创 用Process Explorer分析进程各个线程CPU占用率

使用Process Explorer可以很方便查看某个进程各个线程的CPU占用率,可以为排查问题提供帮助。我使用的Process Explorer版本是v16.21 64bit。使用VS 2008创建一个MFC对话框程序,在代码中创建两个线程,如下: m_thread = (HANDLE)_beginthreadex(NULL,1024,m_thread_func,(void*)this,NULL...

2018-03-17 10:14:42 7898 1

转载 error -5008: intel64 or amd64 must be specified in the template of the summary

使用install shield 2010 打包程序时,报这样的错误:error -5008: intel64 or amd64 must be specified in the template of the summary上网查了下,在http://community.flexerasoftware.com/showthread.php?197139-error-500

2017-11-10 12:27:34 1652

原创 vs2010 sp1重新编译ppapi_cpp.lib

按照网上的步骤下载了nacl_sdk,下载了pepper_47和vs_addin,我是vs2010 sp1,在编译vs_addin 目录下的hello_nacl_cpp 例子时报错:1>ppapi_cpp.lib(view.o) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1600”(sipinstance.obj 中) 后来看到网上说

2017-09-04 17:10:05 1056

原创 关于mfc 中使用gflags检测内存越界的问题

下载windbg,安装目录下有gflags.exe,用它来配置完全页堆,首先命令行定位gflags.exe的目录,输入gflags.exe /p /enable xxx.exe /full /unaligned,说明使用完全页堆,且内存申请不对齐,保证只要一越界就可以检测出来。因为内存申请一般是会对齐的,例如8字节对齐,我new一个字节的内存,那么从这个字节打后7个字节我都是可以写入的,而程序运行

2017-08-19 22:21:34 1126

原创 关于D3D9 Stretchrect

官网截图:

2017-07-05 16:58:06 2467

原创 关于在DDraw和D3D显示的视频上作图的问题

方法1,获得surface的DC,然后用GDI、GDI+作图。用GDI、GDI+作图的好处是比较容易上手,且作图可以比较自由。DDraw、D3D都可以获取surface的DC,从而可以在该DC上用GDI作图,但是,此混合作图的方式效率特别低;实践了一下,D3D surface的GetDC、ReleaseDC方法要耗时5ms以上,可能在两种绘图框架之间要进行很多适配和转换。用DDra

2017-07-04 16:44:10 1973

原创 CEF 嵌入到MFC的流程,包括启动CEF以及CEF程序的关闭流程。

CEF嵌入到MFC的例子很多,网上也很容易可以找到,我用的CEF版本是cef_binary_3.2171.1979_windows32,开发环境是VS2008。大致流程是:1,在应用程序InitInstance()中,初始化CEF: void* sandbox_info = NULL; CefMainArgs main_args(theApp.m_hInstance); CefRe

2017-05-23 22:52:05 8958 2

红黑树 - Robert Sedgewick 2008

经典的红黑树讲解文籍,从2-3-4树讲起,逐步过渡到红黑树的底层原理,是学习算法的经典参考。

2018-08-27

Qt鼠标滑过菜单图标高亮

使用QWidgetAction实现的鼠标滑过菜单项图标高亮显示,用到了QWidgetAction以及自定义QWdiget,实现了菜单项图标、文字以及子菜单指示器的定制,使用qss+动态属性作为菜单项的样式定制;代码是在qt5.7.1 的基础上编写的,可编译通过运行。

2018-08-24

CUDA GPU编程应用程序接口中文版

非常有用的CUDA 编程API说明文档,GPU开发必不可少的参考资料。

2017-03-15

Cpptooltip气泡提示VC++类,支持菜单、工具条、淡入淡出、超链接、动画、表格等

Cpptooltip 是一个 MFC的气泡提示类,可实现在对话框,控件、视图、工具栏等处实现ToolTip方式的显示效果,且可以自定义外观,有多种显示样式,包括淡入淡出,超链接、动画等等,功能非常强大。

2016-08-07

全开源界面库SOUI,实现炫丽的VC界面

全开源界面库SOUI源码,可以通过很简单的接口调用实现炫丽的界面,再也不用为了实现某种界面效果花费很多力气自己写代码了。

2016-07-13

OpenGL编程指南第8版pdf完整版(英文)

OpenGL 编程指南第8版 完整版,重写了最新的OpenGL接口方法以及编程技术。

2016-07-11

GDI+ SDK文档中文版

GDI Plus 绘图的SDK参考文档,中文翻译,详细描述了GDI Plus的接口以及使用例程。

2016-07-11

VC自绘的饼状图控件

可用于MFC环境下的自绘饼状图控件,用GDI+实现,支持三维、二维饼状图,自带各个项的图例。可以设置颜色、字体等,效果非常好。

2016-07-07

opengl编程指南第七版源码

opengl编程指南第七版书本配套的源码,学习OpenGL的帮手。

2016-07-07

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

TA关注的人

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