-
读取UWP软件的图标
最近在软件里加了一个功能:读取系统中已安装的UWP应用列表,拿到它们的名称和图标,并且能用代码启动它们。
这件事看起来很简单,做起来却踩了不少坑。UWP应用没有传统的exe文件,显示名称和图标都写在包的清单文件里,而且清单里记录的是“资源名”而不是真实的文件路径——同一个图标在包里可能同时存在
Square44x44Logo.scale-100.png、Square44x44Logo.scale-200.png、Square44x44Logo.scale-400.png好几个版本,具体用哪个要由系统在运行时决定。这篇文章按三条技术栈路线整理我试过的做法:纯 WinRT、ATL + COM、纯 COM。最后一条是我在 LaunchyQt 里实际落地的方案,它完全不需要 WinRT,也不需要 ATL。
-
Qt-MSVC-pyside开发环境的搭建
最近在折腾Qt C++和python的开发环境,发现各个库的版本和开发环境的版本是需要匹配的,在这里记录一下版本选择的过程。
-
处理Windows系统下的软件崩溃问题
在生产环境中会遇到程序崩溃问题,这里总结了几个处理软件崩溃的要点。
-
Linux 驱动开发笔记
最近在移植PCIe卡驱动到 Linux 系统上,下面是移植过程中查阅资料的记录。
-
opencv中的图像形态学处理
什么是图像形态学?这里的图像形态学指的是数学上的图像形态学。
-
opencv的中值滤波和双边滤波
非线性滤波
中值滤波和双边滤波都是非线性滤波
nonlinear filtering,那什么是非线性滤波呢?非线性滤波是一类不遵循线性叠加原理的图像处理方法,其输出结果不能简单低表示为输入像素的加权和。它的核心特点是根据局部像素值的关系动态调整处理方式,因此能更好地保留边缘、纹理等非线性特征,同时有效去除特定类型的噪声。
特点
- 非加权平均,不依赖固定卷积核(如高斯滤波的固定权重),而是根据像素邻域的实际分布动态计算(如取中值、最大值等)。
- 边缘保留,多数非线性滤波能保护锐利边缘不被模糊(如双边滤波、中值滤波)。
- 适应性, 处理方式随图像局部特征变化(如噪声类型、纹理复杂度)。
常见的线性滤波:均值滤波(mean filter / box filter),高斯滤波(gaussian filter),拉普拉斯滤波(Laplacian filter),Sobel 滤波
- 非加权平均,不依赖固定卷积核(如高斯滤波的固定权重),而是根据像素邻域的实际分布动态计算(如取中值、最大值等)。
-
Windows驱动开发笔记
本文记录了我在开发Windows驱动时的一些心得体会。
-
更新svn的externals到指定版本
svn的 externals 功能用于将代码库中其他位置的代码链接到本目录中来。最近我尝试将代码回退到某个历史版本时发现 externals 链接过来的代码并没有回退到历史版本,仍然是库中最新的版本。
-
高斯函数在图像处理中的应用
高斯模糊是一种常见图像模糊算法。本文介绍其算法原理和在图像处理中的操作细节。
-
数据库使用的数据模型
根据数据库所使用的数据模型来划分,数据库可以分为层次数据库、网状数据库、关系数据库。
它们分别对应数据库的三种数据模型:层次模型,网状模型,关系模型。
目前最常用的也就是关系型数据库。 -
面向对象设计中的五大原则
最近在看软考资料,正好遇到了一个与面向对象设计有关的题目,把五大原则拿出来好好复习一下。将五大原则分别是单一职责原则、开闭原则、里式替换换则、接口隔离原则、依赖倒转原则,将它们的英文首字母取出来就能组成单词
SOLID,这些原则的主要宗旨是使软件维护和软件拓展变得更加容易。