HW140701
码龄9年
关注
提问 私信
  • 博客:2,122,007
    社区:1,312
    2,123,319
    总访问量
  • 269
    原创
  • 1,664,085
    排名
  • 1,125
    粉丝
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖南省
  • 加入CSDN时间: 2015-10-08
博客简介:

HW140701的博客

博客描述:
个人网站:https://www.stubbornhuang.com/
查看详细资料
个人成就
  • 博客专家认证
  • 获得1,413次点赞
  • 内容获得1,507次评论
  • 获得5,906次收藏
  • 代码片获得12,431次分享
创作历程
  • 7篇
    2023年
  • 11篇
    2022年
  • 41篇
    2021年
  • 48篇
    2020年
  • 37篇
    2019年
  • 17篇
    2018年
  • 75篇
    2017年
  • 52篇
    2016年
成就勋章
TA的专栏
  • TensorRT
    7篇
  • 书籍翻译
    1篇
  • 开发工具
  • Git
    1篇
  • GUI
  • ThreeJS
    4篇
  • Pytorch
    6篇
  • Duilib
    4篇
  • UnrealEngine
    4篇
  • Go
  • WPF
    1篇
  • 人工智能
    1篇
  • 姿态识别与三维姿态估计
    7篇
  • 个人建站
    1篇
  • 三维图形处理算法
  • OpenGL
    5篇
  • Legancy OpenGL / 固定渲染管线
    12篇
  • Modern OpenGL / 可编程渲染管线
    8篇
  • VTK
    22篇
  • C++
    131篇
  • C++智能指针
    2篇
  • C++基础
  • C++多线程
    5篇
  • C++网络编程
  • VS/VC/MFC
    39篇
  • 计算机图形图像
    23篇
  • Python
    28篇
  • hacker/cracker
    1篇
  • Windows技术
    3篇
  • Socket
    1篇
  • OpenCV
    15篇
  • 数据结构
    3篇
  • LeetCode
    5篇
  • 三维模型重建
  • 另外的世界
    2篇
  • QT
    1篇
  • FFmpeg
    11篇
  • Unity3D
    1篇
  • 穷建站
    2篇
  • 其它
    17篇
  • Android
    1篇
  • Linux
    6篇
  • Eigen
    1篇
兴趣领域 设置
  • Python
    python
  • 人工智能
    目标检测深度学习神经网络pytorch
  • 服务器
    linux
China,yyds

欢迎大家访问我的个人网站 : https://www.stubbornhuang.com,更多干货等着您来开箱哦!

我的个站 : https://www.stubbornhuang.com

计算图形学与计算几何经典和必读书籍整理: https://github.com/HW140701/Book-list-of-computational-geometry-and-computer-graphics

GitHub : https://github.com/HW140701

创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C++ - 跨平台在Windows、Linux系统上获取当前可执行程序路径

跨平台获取当前可执行程序路径是C++跨平台项目中会经常使用的功能,我将这个功能简单的封装成了一个。静态函数获取当前可执行程序路径,下面贴出了功能实现代码。工具类,在该类中通过。
原创
发布博客 2023.09.11 ·
1286 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

OpenCV - 图片增加透明通道,图片合并透明通道

按理来说,使用OpenCV的CUDA版本进行计算相比CPU会快很多,但是经过我对上面CPU和CUDA版本的运行时间的测试,发现最终处理的时间是差不多的,我分析这个原因是在使用CUDA版本时,需要将cpu上的图片使用。需要注意的是,Mask图片必须与原始图片具有相同的分辨率大小和相同的数据类型,比如原始图片是1920x1080,CV_8UC3的图片,那么Mask图片必须是1920x1080,CV_8UC1的图片。方法分离原始图片各个通道,然后将Mask加入到原始通道中,最后使用。合成新的通道生成最后的图片。
原创
发布博客 2023.07.12 ·
3356 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

OpenCV - cv::Mat与unsigned char*数组或者float*数组相互转换,cv::Mat与std::vector的相互转换

通常情况下,在同一个opencv项目传递cv::Mat可直接通过const cv::Mat& img这种方式传递,但是如果需要进行跨语言传递,比如C++传递到C#或者C#传递到C++,那么通常这种情况下需要将cv::Mat转换为内存指针比如unsigned char指针或者float指针进行传递。我们可以将第1节中的代码进行修改,不使用动态数组,而是改用使用std::vector,这样就不用太在意内存泄漏的问题。我们可以写一个模板的方法完成cv::Mat与不同类型的std::vector之间的相互转换。
原创
发布博客 2023.06.06 ·
4927 阅读 ·
1 点赞 ·
0 评论 ·
20 收藏

我的开源项目 - 使用OnnxRuntime在CPU端部署RTMPose玩转实时2D姿态估计

好了,在本小节中会详细介绍如何使用OnnxRuntime在CPU端进行RTMDetnano+RTMPose模型的部署,在本教程中会实现基于RTMDetnano+RTMPose的一个Top-Down的2D姿态估计示例,由RTMDetnano检测人,然后根据检测框裁剪相应的图片区域喂给RTMPose进行姿态估计,进行了一个简单的跳帧检测的实时2D姿态估计的C++类,好了,就让我们愉快的开始吧。RTMPose的亮点主打的就是工业级别的推理速度和精度,这在他的论文摘要也是着重突出,可以仔细看他的论文摘要,
原创
发布博客 2023.04.28 ·
2723 阅读 ·
4 点赞 ·
18 评论 ·
21 收藏

C++ - 获取std::vector中的最小值、最大值以及对应的索引

普通方法就是遍历std::vector,对vector中的值进行一一对比,找出最小值、最大值及其对应的索引,示例代码如下。
原创
发布博客 2023.04.11 ·
4351 阅读 ·
3 点赞 ·
0 评论 ·
15 收藏

TensorRT - TensorRT was linked against cuBLAS/cuBLAS LT 11.6.1 but loaded cuBLAS/cuBLAS LT 11.5.4错误提

我自己以为只要是下载cuda 11.4的版本就行了,之后的小版本就没在意,所以当时下载的时候我就下载了cuda 11.4.1,但是cuda 11.4.1的cuBLAS的版本只有11.5.4.8,那么如何知道哪一个cuda版本中的cuBLAS版本呢?所以我们应该下载安装的版本是cuda 11.4.2,而不是cuda 11.4.1,所以为了避免出现问题(虽然不知道不适用对应的cuda版本会出现什么问题),还是一个版本一个版本慢慢校对,直到找到合适的cuda版本。
原创
发布博客 2023.03.03 ·
825 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Pytorch - 使用pytorch自带的Resnet作为网络的backbone

在使用Pytorch搭建自己的神经网络框架时,经常需要使用Pytorch中内置的中的模型作为特征提取的Backbone,然后再在这个基础上进行更加复杂的网络搭建。在这里以使用Pytorch中内置的Resnet18为例,如何作为Backbone层进行使用,看以下示例代码使用上述代码,如果输入Tensor的维度为[1,3,244,244],fowward输出的Tensor的维度为[1,512,1,1],如果我们需要输出的Tensor维度为[1,512],需要squeeze相应的维度,修改后的代码如下。
原创
发布博客 2023.01.10 ·
3025 阅读 ·
4 点赞 ·
0 评论 ·
10 收藏

C++ - std::string字符串格式化方法总结

我们可以使用可变参数模板+定义一个字符串格式化函数// std::string的字符串格式化函数 template < typename . . . Args > static std :: string str_format(const std :: string & format , Args . . . args) {if(!
原创
发布博客 2022.11.17 ·
43349 阅读 ·
25 点赞 ·
2 评论 ·
73 收藏

C++ - 使用标准库实现事件和委托,信号和槽机制

在本文中,我们对.Net的事件和委托,Qt的信号和槽进行了简单的介绍,然后通过引入Duilib中对于事件和委托的简单实现,进而扩展了自定义的简单事件类Event,此类实现的比较简单,但是包含了事件实践的核心思想,自己对于模板类,以及变参模板的使用又有了新的体会。
原创
发布博客 2022.11.02 ·
1925 阅读 ·
3 点赞 ·
0 评论 ·
21 收藏

C++ - single header跨平台高效开源日志库Easylogging++的配置和使用

Easylogging++是一个只有单个头文件的开源跨平台日志库,拥有简单易集成,速度极快,线程安全,高效并可配置可扩展等等优点,现在也是我的主力日志库。
原创
发布博客 2022.10.26 ·
1176 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

ThreeJS - 修复摄像机近距离模型或者摄像机在某些观察角度3D模型部分或者全部不可见的问题

最近使用three.js在场景中显示gltf模型时候,当我使用操作摄像机想近距离观察gltf模型的时候发现一部分模型消失了,比如说假如这个模型是一匹马,当我远距离观察时可以完整的看到整匹马,但是当我想拉近摄像头近距离观察马的时候,这个时候我只能看到马的头,马的身子和脚的部分突然就消失了。我马上意识到是摄像机的视椎体出现了问题,但是我的视椎体设置的很大,如下肯定可以把这个模型完整的包含在视椎体里面,不可能会出现上述的奇怪问题。
原创
发布博客 2022.09.24 ·
3357 阅读 ·
3 点赞 ·
3 评论 ·
11 收藏

Pytorch - masked_fill方法参数详解与使用

输入的mask需要与当前的基础Tensor的形状一致。将mask中为True的元素对应的基础Tensor的元素设置为值value。返回填充后的Tensor。
原创
发布博客 2022.08.15 ·
7024 阅读 ·
9 点赞 ·
1 评论 ·
14 收藏

Pytorch - 使用torchsummary/torchsummaryX/torchinfo库打印模型结构、输出维度和参数信息

对打印Pytorch模型的模型结构、输出维度以及参数信息的方式进行了总结
原创
发布博客 2022.07.01 ·
3899 阅读 ·
6 点赞 ·
2 评论 ·
19 收藏

C++ - 使用std::chrono获取当前秒级/毫秒级/微秒级/纳秒级时间戳

1 使用std::chrono获取当前秒级/毫秒级/微秒级/纳秒级时间戳1.1 当前时间戳获取方法先使用std::chrono获取当前系统时间,然后将当前系统时间转换为纪元时间std::time_t类型,之后使用std::localtime对std::time_t类型转换为本地时间结构体std::tm类型,最后使用strftime对时间进行格式化输出。其中std::tm该结构包含了一个被分解为以下各部分的日历时间struct tm { int tm_sec; // 秒,范围从
原创
发布博客 2022.05.27 ·
21610 阅读 ·
19 点赞 ·
6 评论 ·
97 收藏

FFmpeg - ./configure编译参数全部总结和整理

1 FFmpge编译参数本文对FFmpeg4.4.1的./configure的所有编译参数进行了简要说明。在Linux系统上编译FFmpge时总是不太明白应该使用哪一些编译参数,这里以FFmpge4.4.1版本为例,对FFmpge的所有可选编译参数进行总结和整理。1.1 Help options 帮助选项参数参数作用–help打印显示帮助信息–quiet禁止显示信息输出–list-decoders显示所有可用的解码器–list-encoders显示所有可用
原创
发布博客 2022.04.29 ·
8212 阅读 ·
18 点赞 ·
2 评论 ·
72 收藏

Visual Studio – 借助远程Linux服务器环境在Visual Studio中编写和远程调试Linux C++程序

1 环境准备1.1 安装使用C++的Linux开发的工具集首先需要在Visual Studio Installer中安装使用C++的linux开发的工具集等待使用C++的Linux开发的工具集安装完成,并重启Visual Studio。1.2 准备可远程的Linux服务器以及在远程服务器安装远程调试环境1.2.1 明确Linux服务器的cpu架构首先需要清楚该服务器的cpu是x_86、x_64还是arm,这在之后的Visual Studio中需要选择编译平台。1.2.2 配置远程Linux服
原创
发布博客 2022.03.14 ·
15173 阅读 ·
23 点赞 ·
0 评论 ·
98 收藏

Mediapipe – 将Mediapipe HolisticTracking封装成动态链接库dll/so,实现在桌面应用中嵌入全身关节点识别、手势识别、抬手放手检测识别功能

1 Mediapipe HolisticTrackingMediapipe Holistic Tracking可对身体,面部和手部的共543个关键点进行实时跟踪检测,其中包含面部468个关节点,身体33个关键点,以及每只手分别21个关键点。所有关键点的存储顺序以及标注对照索引图可参考我的另一篇文章:https://www.stubbornhuang.com/1916/1.1 封装Mediapipe Holistic Tracking的目的之前尝试对Mediapipe的手部跟踪功能HandTrack
原创
发布博客 2022.01.20 ·
4495 阅读 ·
5 点赞 ·
58 评论 ·
35 收藏

书籍翻译 - Fundamentals of Computer Graphics, Fourth Edition 虎书第四版中文翻译

1 Fundamentals of Computer Graphics, Fourth Edition 中文翻译随缘翻译,不喜勿喷。第1章:Introduction 中文翻译 : https://www.stubbornhuang.com/1813/第2章:Miscellaneous Math 中文翻译:https://www.stubbornhuang.com/1821/第3章:Raster Images 中文翻译:https://www.stubbornhuang.com/1822/第4章:
原创
发布博客 2022.01.08 ·
6276 阅读 ·
12 点赞 ·
3 评论 ·
89 收藏

Pytorch - 一文搞懂如何使用Pytorch构建与训练自定义深度学习网络(数据集自定义与加载,模型训练,模型测试,模型保存与加载)

使用Pytorch从零训练一个深度学习网络模型,常需要经过以下步骤:自定义数据集、加载自定义数据集、网络模型结构定义、定义损失函数、定义优化器、训练模型、测试模型、保存与加载模型等步骤。下文将详细阐述如何从零构建并训练一个深度学习网络模型的必要步骤。1 自定义数据集from torch.utils.data import Datasetclass torch.utils.data.Dataset表示数据集Dataset的抽象类,所有其他自定义的数据集都应该继承Dataset类,并且强制重写_le
原创
发布博客 2021.12.22 ·
3368 阅读 ·
7 点赞 ·
1 评论 ·
29 收藏

C++ - 使用ffmpeg读取视频旋转角度并使用OpenCV根据旋转角度对视频进行旋转复原

1 视频中的旋转信息以及为什么会有旋转信息Android或者ios等手机上录制视频时,由于重力感应或者录制视频的摆放方式的问题会导致录制的视频拥有旋转信息。如果是横屏录制(手机逆时针旋转90度),则录制的视频时不带角度的。如果是竖屏录制(正常的拿手机的姿势),此时的录制的视频的旋转角度是90度。如果再旋转90度,此时一般音量键和关屏键朝下,此时的视频的旋转角度是180。以此类推。所以在手机上的视频一般会有4种角度的视频,播放时,要对视频资源进行旋转后再进行播放,不然视频就会出现各种反转、倾倒。在http
原创
发布博客 2021.12.07 ·
1707 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏
加载更多