自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 详解KMP算法中的前缀表计算

本文不是为了详解KMP算法的整个流程,而只是教大家如何理解求解前缀表的过程。如果前缀表能顺利写出来,那么字符串匹配就十分好理解了。

2024-04-21 14:20:42 352

原创 C++设备管理器

我需要通过C++查询设备管理器中的某个设备是否存在,然后找到该设备的父节点和兄弟节点和子节点。所以我的code就是用来实现上面的内容。

2024-01-04 22:35:56 455

原创 C++ 实现Windows WIFI管理器

出于项目需要,需要用C++开发一个wifi界面,实现wifi扫描、wifi连接与断开、wifi密码记住的基础功能。

2024-01-03 22:45:03 682

原创 RegScanner下载安装教程

RegScanner是一款用以搜索注册表关键字的轻量级软件。

2023-12-26 22:44:45 522

原创 编译 CUDA加速的 OpenCV-4.8.0 版本

由于项目需要用上CUDA加速的OpenCV,编译时也踩了不少坑,所以这里记录一下。

2023-11-22 17:37:44 1080 2

原创 MFC项目添加CUDA支持

拥有一个MFC项目;拥有现成的 .cuh文件 和 .cu文件。将.cuh和.cu文件放到我的项目中,并且编译成功跑起来。

2023-11-21 15:08:12 178

原创 简单讲解 glm::mat4

glm库是OpenGL的官方数学库,里面内置多种跟几何变换相关的函数,熟练掌握glm库可以省下很多麻烦。因为最近在项目中主要使用了 glm::mat4 ,所以加上我自己的理解,想分享一下。总而言之,无论是使用 glm::mat4,还是float[4][4],还是float[16],你都要先想用行向量表示出来你的矩阵,然后再去转换,这样就一定没错!

2023-10-01 16:16:57 777

原创 使用CUDA计算GPU的理论显存带宽

显存带宽越大,意味着数据传输越快,那么GPU整体的计算速度也会越快。所以该指标可以作为我们评估核函数运行速度的评价指标。理论显存带宽由具体硬件所定义。该函数用于获取GPU的相关属性信息。

2023-09-08 13:13:21 939

原创 CUBLAS库入门教程(从环境配置讲起)

CUBLAS库是NVIDIA CUDA用于线性代数计算的库。使用CUBLAS库的原因是我不想去直接写核函数。(当然,你还是得学习核函数该怎么写。但是人家写好的肯定比我自己写的更准确!)

2023-09-01 00:52:59 3056

原创 在C++项目中集成CUDA程序加速(从环境配置讲起)

因为我自己的 C++ 项目需要用到CUDA加速计算,但是又从来从来没有尝试过,所以这里记录一下整个过程。希望对大家有帮助!

2023-08-28 21:25:14 1739

原创 Win11 + VS2022 + CMake3. 26.4 编译VTK8.2.0

最近由于有项目要用到VTK,所以想重新学一遍VTK。当然要从编译VTK开始。因为我们不打算用Qt,所以就不安装Qt的东西,具体安装环境如标题所示。请确保你的电脑提前安装了VS2022和CMake3.26.4。注意CMake过程中的Error。

2023-06-20 00:29:27 925

原创 使用WM_COPYDATA消息进行C++进程和C#进程发送结构体

【代码】使用WM_COPYDATA消息进行C++进程和C#进程发送结构体。

2023-03-30 11:17:48 164

原创 使用共享内存(Shared Memory)进行C++进程与C#进程之间的通信

注意,我是先打开C++进程,然后再启动C#进程,然后在C#进程中创建共享内存并写入,然后在C++进程中获取共享内存句柄然后再读取。代码都是基于这个流程来考虑的。当C#进程关闭时,C++进程仍会持续去读取共享内存中的数据。因为虽然是C#进程创建的共享内存,可是管理却是操作系统。所以即使C#进程关闭了,操作系统检测到内存句柄仍在C++进程使用,所以就不会回收,所以C++进程仍能持续读到内存。直到C++进程也关闭句柄之后,操作系统才会回收该内存。进程间通信,加锁是非常重要的。请注意加锁的时序和释放顺序。

2023-03-22 20:19:40 1462

原创 MFC 重写OnSize()之后残留旧控件问题

在MFC项目中,我打算通过重写OnSize()函数来进行控件动态排列。然而,当我响应该函数后,虽然能调整,但是旧控件的边框仍在原先的位置。具体如下图:软件初始化布局响应OnSize()之后,出现红框的内容。

2022-12-09 09:30:32 446

原创 Pytorch框架的模型pth文件转换成C++ OpenVINO框架的bin和xml文件并运行

使用OpenVINO读取Pytorch模型

2022-12-06 11:10:08 2044 2

原创 MFC 使用 TransparentBlt() 在背景图的基础上画东西

需求:我需要在这个背景图上使用这两个点的坐标绘制一条直线。

2022-11-04 18:00:25 409

原创 MFC CEdit 控件利用GDI+设置png背景图,同时设置文本垂直居中(多行模式)

文章目录需求1、读取png图像作为CEdit控件背景图像2、文本垂直居中一、文件准备二、使用步骤三、效果需求由于如果利用bmp图像作为控件背景图片经常会出现失真、变形的问题,而且只能使用bmp图像。所以用GDI+不仅可以读取bmp之外的图片格式,还可以解决变形的问题。本文档就是基于此想法实现的。1、读取png图像作为CEdit控件背景图像2、文本垂直居中一、文件准备通过命令git clone https://gitee.com/ashuiaaaa/mfc-related-data.g

2021-12-26 16:07:09 1115

原创 MFC CEdit 控件动态修改边框样式

文章目录需求一、文件准备二、使用步骤三、效果需求当我的鼠标移动到Edit control上面时,该控件的外框颜色改变;当我的鼠标点击该控件时,外框颜色又发生变化;当我的鼠标离开该控件时,外框颜色又恢复回去。一、文件准备通过命令git clone https://gitee.com/ashuiaaaa/mfc-related-data.git将相关代码拷贝下来。二、使用步骤将项目的CEdit Codes文件夹下的两个文件复制到你的项目文件中;在你的dialog中include “

2021-12-18 21:39:57 1098

原创 MFC CListCtrl修改表头字体、字体颜色、背景颜色、字体垂直居中、表头高度

通过继承CListCtrl类和CHeaderCtrl类,实现自定义表头格式

2021-12-18 16:08:37 3498 5

原创 双缓冲绘图算法C++例子实现

文章目录前言一、双缓冲绘图算法?二、使用步骤1.准备环境2.创建项目3. 创建小球类4. 在view文件中设置所需参数及函数1. 需要添加一个小球对象,还需要添加小球移动的距离变量;2. 需要添加一个定时器,用以更新小球的位置,同时调用绘图函数显示图像;3.在绘图函数中调用双缓冲绘图算法函数;4. 在双缓冲绘图算法函数中,实现将小球图像保存至内存DC中,再复制到显示DC中显示。总结在 void CCVClassOneView::DoubleBuffer(CDC* pDC) 函数最后,有将旧位图重新设置进内存

2021-11-13 23:30:40 4095 10

原创 关于使用了OpenVINO第三方库的C++项目的exe搬到别的电脑上运行不了的解决方法

项目场景:我有自己的一个C++项目automeasuredl,里面使用第三方库OpenVINO(有关OpenVINO在VS2019上的配置可以到我的百度网盘链接上下载相关参考文件,按照我这样的配置应该是可以成功运行的。链接:https://pan.baidu.com/s/1G8Hbm6vfXW3FD0uaOc2mSQ 提取码:1215)。问题描述:项目编写完成正常运行后,便把生成目录下的release目录(因为我是在release x64环境下编写的)拷贝到别的电脑上运行,release目录

2021-08-02 12:19:24 558 2

原创 关于Windows API FindWindow() 偶尔找不到相应窗口的现象及我的解决方案

项目场景:我的解决方案下有两个项目,一个是C++的MFC项目,一个是C#的WPF项目。出于工作需要我要在C++项目中打开C#项目的exe文件,然后在C++端找到该exe的主窗口句柄,从而利用SendMessage()将C++的消息发送到该exe。问题描述:毫无疑问,当需要找窗口句柄时,首先想到的自然是FindWindow(),这个函数能够在系统中帮我们找到所需窗口的句柄。该函数的参数有两个,第一个是所找窗口的类名,第二个是所找窗口的名字。一般来说,第一个参数可以填NULL,但是第二个参数一般不要省

2021-05-17 21:00:02 3966 2

原创 零基础入门git bash(满足公司的日常应用)

文章目录前言一、git核心理论二、搭建git环境1.安装git2.创建本地公钥3、git配置文件三、工作流程1、创建本地仓库2、修改项目3、提交项目1)打开git bash 之后,先查看一下当前的文件状态:`git status`2)添加文件到暂存区3)将暂存区文件添加到本地仓库4)将本地仓库文件添加到远程仓库四、额外的常用命令总结前言作者今年三月份进入一家公司的软件开发岗位实习,需要到gitlab和bitbucket上下载公司项目进行debug,结果本人对于git只停留在git clone 阶段,导

2021-04-05 22:52:36 598

原创 WPF利用NotifyIcon创建任务栏图标(菜鸟教程)

学习目标:记录从WPF应用创建开始,一步步到任务栏图标创建的全过程。流程:1、环境:Win10 + VS2017打开VS2017,选择文件 -> 新建 -> 项目 -> Visual C# -> Windows桌面 ->WPF应用 -> 更改项目名为 TasbarIcon -> 确定2、添加图标类右键项目 -> 添加 ->引用,找到System.Windows.Forms 和 System.Drawing两个程序集,打上勾添加进去。

2021-03-17 21:58:32 3190 1

原创 六大排序算法的思想及C++代码实现

文章目录前言一、选择排序法 O(n^2)1、思想2、代码二、插入排序法 O(n^2)1.思想2.流程3.代码三、冒泡排序法 O(n^2)1、思想2、代码四、冒泡排序法改进 O(n^2)1、思想2、代码五、希尔排序 O(n^(1.3 ~2))1、思想2、缺点:不稳定3、代码六、快速排序法O(nlogn)1、思想2、缺点:不稳定3、代码七、归并排序法(nlogn)1、思想2、代码总结前言这两天重新学习了一下六大排序算法,总结了一下发上来,仅供参考。一、选择排序法 O(n^2)1、思想在第一轮遍历中

2021-01-22 11:53:57 286

原创 使用华为云跑自己的深度学习模型教程

使用华为云跑自己的深度学习模型教程提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录使用华为云跑自己的深度学习模型教程前言一、创建访问密钥?二、创建数据集OBS桶(一)什么是OBS桶(二)创建OBS桶三、上传数据到OBS桶(一)数据量小于5G(二)数据量大于5G1、安装obsutil2、配置obsutil3、上传数据总结前言2020年11月,华为技术有限公司组织技术专家对申报2020年第一批华为有限公司教育部产学合作协同育人项目进行评审,最终通过了我们专业特色班的申请,所以

2021-01-12 22:14:43 10380 6

原创 更换vim的字体主题(以vim-one主题为例)

更换vim的字体主题(以vim-one主题为例)Vim是极为好用的linux编辑器,好处不再多讲。这里以主题vim-one介绍一下如何更换Vim的字体主题。需要的文件夹目录树。其中除了.vimrc是配置文本文件,其它都是文件夹。缺少的话要用 touch .vimrc 和 mkdir 命令创建homeashui.vimrc.vimbundlecolors下载vim-one文件cd:回到用户目录cd ./.vim/bundle:进入bundle文件夹,将安装包下载

2020-12-03 11:34:04 1938 1

原创 使用MobileNetV3作为预训练模型遇到的问题及解决方法

我参加了kaggle上一个分类比赛,然后决定使用预训练好的MobileNetv3作为基本框架进行修改,然后遇到了一系列的问题,记录一下。一,目标原始模型:输入为3 * 224 * 224,输出为1000.我的目标:输入为3 * 512 * 512,输出为 1.二、原始模型代码及参数我是在这里找的mobilenetv3代码然后我选的是mobilenetv3.old.py和它的训练好的权重文件mbv3_large.old.oth.tar(之所以不使用作者更新过的mobilenetv3.py文件是因为

2020-07-09 00:08:01 4884 2

原创 python细节问题

问题:‘builtin_function_or_method’ object has no attribute 'squeeze’上面是我原先的代码。我的目的是把tensor上的图片转换成PILImage,然后显示出来。运行之后便出现了如图错误最终发现问题原来在是clone后面少了个()修改之后就好了。...

2020-06-19 14:23:20 951 1

原创 解决python问题:ValueError:cannot decompress jpeg

今天准备用skimage.io.MultiImage()读入.tiff文件的时候,突然报错如下:查了很多之后,有人说下载tifffile和imagecorecs这两个库就可以了。我看一下我的库里确实没有这两个,于是就下了,发现还是不行。最终我把自己的scikit-image这个库从原先的0.15.0更新到0.17.2,终于解决了!值得说的是,0.17.2安装的时候里面就包括了上面说的那两个库了,不用自己再去安装。...

2020-06-17 17:28:45 688

原创 Anaconda虚拟环境下一次性安装opencv-python、matplotlib、openslide、plotly库

背景:目前我需要用到这四个库,但是之前各种安装的时候一直会有各种各样的错误,有的库之间还会冲突。所以经过我近两天的测试,终于摸索出这种顺序的安装方法,可以成功安装上面这四个库。大家可以参考一下。以下均在cmd命令行就可以完成1、创建虚拟环境:conda create -n python3.6 python=3.6(openslide目前只支持到3.6版本)2、激活虚拟环境:conda activate python3.63、更新pip(如果需要的话):easy_install -U pip==19

2020-05-18 10:01:52 1607

原创 python中的matplotlib库和seaborn库的冲突问题

先谈谈我的发现在我的项目里面我需要用到matplotlib和seaborn两个库。所以我的步骤如下:创建虚拟环境:conda create --n challenge python=3.6.0激活环境:conda.bat activate challenge下载和安装whl文件:见我前一篇博客这里讲一下为什么用whl文件下载而不是直接conda install matplotlib因为我用命令行的方式下载的时候,老是在安装qt这个包的时候就报错(红圈部分),我解决不了这个问题,所以只能用wh

2020-05-16 22:42:02 1323

原创 在Anaconda虚拟环境下安装openslide

在Anaconda虚拟环境下安装openslide前提:比赛需要读取tiff格式的whole-silde images,所以就想要用openslide来读取文件。但是openslide的安装实在是费事,我也是整了快三个小时才成功。所以我想在这里介绍一下我的成功经验,严格按照我的步骤来应该会很顺利,供后人参考。下载whl文件这里是网站:,在这个网站上下载适合你的python版本的openslide-python的轮子文件。(安装路径随意,也不用加入环境变量)注意:这些轮子文件最新只有到python

2020-05-14 19:28:14 2212

原创 quadratic weighted kappa计算公式

标题:quadratic weighted kappa计算公式提要:最近准备参加一个MICCAI举办的人工智能医疗图像比赛,是关于病情分类的,然后里面要求的评价标准是这个quadratic weighted kappa。找遍了网上都没有找到关于这个quadratic weighted kapa的计算公式中文介绍,所以在自己懂了之后,就来写下来,供后人参考。kappa分为简单kapa(simple kappa)和加权kappa(weighted kappa),因为关于简单kappa的文章有很多,我就不讲了

2020-05-14 16:03:26 2952 1

空空如也

空空如也

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

TA关注的人

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