自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

琅嬛福地

寒江孤影,江湖故人,相逢何必曾相识

  • 博客(947)
  • 资源 (20)
  • 收藏
  • 关注

原创 C++ Qt零基础入门进阶与企业级项目实战教程与学习方法分享

本套课程由浅入深,详细的介绍了C++入门、Qt入门进阶到企业级项目实战、C++ Qt开源项目学习。相信通过本套教程的3门课程的学习,大家可以很好的掌握C++ Qt开发,课程提供答疑服务。

2023-09-21 23:00:33 5949

原创 vs code永久关闭默认的chat窗口

如果在vs code里安装了claude code插件,会有两个chat窗口,一个是github copilot, 可以设置永久关闭。打开设置,搜索 github.copilot.chat.enabled,取消勾选,如下图:然后重启vs code即可。

2026-04-28 13:32:42 112

原创 claude code配置deepseek v4 pro

claude code配置deepseek v4 pro

2026-04-24 14:47:25 988 2

原创 Windows Win10/Win11 OpenClaw安装配置教程[亲测可用]

本篇博客介绍如何在Win10 Win11安装配置OpenClaw。

2026-04-04 14:44:05 1388 1

原创 claude code配置国产大模型Kimi、GLM、MiniMax、DeepSeek

claude code配置国产大模型Kimi、GLM、MiniMax、DeepSeek

2026-04-02 22:21:20 2046

原创 如何卸载openclaw

OpenClaw(俗称"龙虾")是一个本地 AI 智能体平台,用于在电脑上部署自主运行的 AI 代理。

2026-03-11 22:21:51 3479 4

原创 pip常用命令

指定镜像和版本安装。

2026-03-08 20:47:33 58

原创 V4L2教程(10):完整项目实战,基于Qt+V4L2的摄像头应用

经过前面9篇的学习,你已经掌握了V4L2从基础到高级的完整技术栈。本篇将把这些知识整合起来,构建一个功能完整的摄像头应用程序。我们将涵盖项目架构设计、GUI界面开发、功能整合以及发布部署。

2026-03-06 09:15:00 476

原创 V4L2教程(9):Qt6.8.3集成V4L2跨平台视频显示框架

本篇将带你学习如何在Qt6.8.3中集成V4L2,实现跨平台的视频显示应用。我们将涵盖Qt Widgets和QML两种方案,让你能够根据项目需求选择合适的技术栈。**本节学习目标**:- Qt6.8.3与V4L2集成架构- Qt Widgets视频显示方案- QML视频显示方案- 信号槽机制与V4L2回调集成

2026-03-06 09:00:00 326

原创 V4L2教程(8):H.264编解码与FFmpeg集成实战

本篇将带你学习如何使用FFmpeg进行H.264编解码,实现视频录制功能。**本节学习目标**:- 理解H.264编码原理- 掌握FFmpeg库的使用- 实现H.264视频录制- 学习视频解码和播放

2026-03-06 08:30:00 68

原创 V4L2教程(7):V4L2高级特性,多线程与多摄像头支持

本篇将带你实现V4L2的高级特性:多线程采集架构、多摄像头同步采集、以及性能优化技巧。这些特性是构建工业级视频应用的基础。**本节学习目标**:- 实现生产者-消费者多线程架构- 支持多摄像头同步采集- 掌握性能优化和错误处理技巧- 构建鲁棒的视频采集系统

2026-03-06 08:00:00 57

原创 V4L2教程(6):V4L2动态库封装设计,C++类架构与接口

本篇将带你学习如何设计优雅的C++类架构,封装成动态链接库(.so),并提供简洁的对外接口。**本节学习目标**:- 设计V4L2的C++类架构- 封装成动态链接库(.so)- 提供C和C++双接口- 使用CMake构建项目

2026-03-06 07:45:00 185

原创 V4L2教程(4):V4L2视频流采集实战,从启动到捕获

本篇将整合这些知识,实现一个完整的视频流采集程序。你将学会如何启动视频流、捕获帧数据、处理回调,以及使用select/poll实现高效的事件驱动采集。**本节学习目标**:- 实现完整的视频采集流程- 掌握select/poll异步事件处理- 编写帧数据回调机制- 学会采集时序控制和帧率统计

2026-03-05 21:54:24 86

原创 V4L2教程(5):YUV与RGB图像处理,格式转换与显示

本篇将深入讲解YUV和RGB像素格式,实现高效的格式转换算法,并使用OpenCV显示采集的画面。**本节学习目标**:- 理解YUV和RGB色彩空间原理- 掌握YUV420p、YUYV等常见格式- 实现YUV到RGB的转换算法- 使用OpenCV显示视频帧

2026-03-05 21:53:22 59

原创 V4L2教程(3):深入V4L2缓冲区管理,MMAP模式详解

本篇将深入讲解V4L2的三种I/O模式,重点剖析MMAP内存映射机制。**本节学习目标**:- 理解三种I/O模式的原理和适用场景- 掌握MMAP内存映射的工作机制- 实现缓冲区的申请、映射和释放- 理解缓冲区队列的状态流转

2026-03-05 21:47:14 68

原创 V4L2教程(2):V4L2基础API,设备打开、查询与格式设置

本篇将深入V4L2的核心API,学习如何打开设备、查询设备能力、枚举支持的格式,以及设置视频采集参数。这是开发V4L2应用程序的基础,也是理解后续高级特性的前提。**本节学习目标**:- 掌握V4L2核心数据结构(v4l2_capability、v4l2_format等)- 理解ioctl系统调用机制- 实现设备打开、查询、格式设置的完整流程- 编写第一个可运行的V4L2程序

2026-03-05 21:44:44 78

原创 V4L2教程(1):Ubuntu V4L2开发环境搭建与设备探索

欢迎来到V4L2学习指南的第一篇!本文将带你从零开始,在Ubuntu系统上搭建完整的V4L2视频采集开发环境。无论你是想开发视频监控、视频会议还是机器视觉应用,掌握V4L2都是Linux视频开发的必经之路。**本节学习目标**:- 理解V4L2的基本概念和架构- 搭建Ubuntu下的V4L2开发环境- 掌握v4l2-ctl等调试工具的使用- 学会检测和配置USB摄像头设备

2026-03-05 21:41:38 244

原创 windows编译x264

本篇博客介绍 **完整可用的 MSVC 编译 x264 流程**(Windows 11 + VS2022)。

2026-03-03 10:15:14 73

原创 C++ Qt面试题(11):定时器和线程有什么区别

在 C++ Qt 开发中,**定时器(QTimer)** 和 **线程(QThread)** 是两个完全不同的机制,但很多人会在“周期执行任务”时把它们混淆。下面从 **本质、工作机制、使用场景、性能影响、常见误区** 五个方面给你详细讲清楚。

2026-03-01 20:48:17 145

原创 Cursor配置

ctrl shift p输入user找到用户设置Json,增加如下信息。

2026-02-20 20:13:38 262

原创 ubuntu2404 docker安装mysql8

执行下面的语句时 docker run -d \ --name mysql8 \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123456 \ -v ~/docker/mysql8/data:/var/lib/mysql \ -v ~/docker/mysql8/conf:/etc/mysql/conf.d \ -v ~/docker/mysql8/logs:/logs \ --restart always \ mysql:8.0 出现了如下错误提示。

2026-02-14 17:23:52 1027

原创 C++跨平台共享内存库Boost.Interprocess使用介绍

通用 C++ 项目:请使用。它是最强大、最灵活且文档最完善的方案。它解决了最难的“如何在共享内存中安全地使用复杂对象(如 vector)”的问题。Qt 项目:直接用。极简需求:如果不想引入任何第三方库,你需要自己编写一个简单的 Wrapper 类,内部用区分 Windows API 和 Linux POSIX API。这虽然麻烦,但对于只有几行代码的需求来说是可行的。

2026-01-10 21:28:35 248

原创 linux c共享内存POSIX API的用法

shm_open(): 创建或打开一个共享内存对象。类似于open(),但它不操作普通文件,而是操作内存对象。返回一个文件描述符(file descriptor)。: 设置共享内存对象的大小。新创建的共享内存对象大小为 0,必须调用此函数设置大小。mmap(): 将共享内存对象映射到进程的虚拟地址空间。这是读写数据的关键步骤,映射后就可以像操作普通指针一样操作这块内存。munmap(): 解除映射。进程结束或不再需要时调用。: 删除共享内存对象。类似于unlink()

2026-01-10 21:24:23 1035

原创 C++ io_uring介绍

C++ io_uring 是 Linux 高性能编程的未来。真正的异步 I/O、减少系统调用、减少内存拷贝、统一了网络和磁盘 I/O 接口。高并发网络服务器(HTTP/RPC)、高性能数据库、分布式存储系统。如果你在编写通用的业务代码,建议使用 Boost.Asio 等封装好的库;如果你在开发底层的存储引擎或极致性能的网关,深入学习并直接使用liburing是非常有价值的。

2026-01-10 21:18:20 1163

原创 webrtc中rtp协议的实现

本文介绍webrtc中rtp协议的实现

2025-12-22 07:30:00 220

原创 rtp、rtcp、rtsp、rtmp等协议介绍

本文介绍rtp、rtcp、rtsp、rtmp等协议介绍

2025-12-22 07:00:00 151

原创 WebRTC多人通信深度解析:从核心原理到架构选型

WebRTC(Web Real-Time Communication)作为一项革命性的实时通信技术,其核心在于实现浏览器或移动应用之间无需插件的点对点(Peer-to-Peer, P2P)音视频和数据通信。然而,在多人通信场景下,问题变得复杂。一个稳定、高效的WebRTC多人通信系统,其背后是一套精密的协议栈和架构设计。本章节将深入剖析WebRTC多人通信的三大核心支柱:信令交互、ICE协商以及媒体流传输与安全保障。信令交互是通信双方建立连接的“语言”,负责交换必要的元数据;

2025-12-21 23:19:35 448

原创 webrtc如何实现音视频同步

WebRTC 的音视频同步是:用 RTP timestamp 表示媒体时间,用 RTCP SR 把它映射到 NTP 时间,客户端以音频为主时钟动态调整视频播放。好,这一轮我按你要的三点一起讲,而且是真·源码级,不是概念图那种。① WebRTC 源码中 AV Sync 的关键类 & 函数② 用“文字时间轴图”画清楚同步过程③ SFU / MCU 架构下,同步责任的本质差异。

2025-12-21 22:44:18 232

原创 C++ Qt程序限制多开

如果你希望修改提示文字或唯一 key,只需要改 QSharedMemory 里的字符串和 QMessageBox 的文案即可。第二次运行时,这块共享内存已经被第一次运行的程序创建了,再调用 create 会失败,返回 false。表示已经有实例在运行,直接退出,不再执行后面的 MainWindow w;创建一段带有全局唯一 key 的共享内存对象,所有进程都能看到这个 key。第一次运行时,这块共享内存还不存在,创建成功,返回 true,程序正常继续。

2025-11-16 22:23:15 302

原创 C++20协程深度解析与实践指南

C++20 引⼊的协程(Coroutines)是⼀种特殊的函数,它能够在执⾏过程中被挂起(suspend),并在未来的某个时间点从挂起的位置恢复(resume)执⾏ 。这种机制使得编写异步代码变得如同编写同步代码⼀样直观,极⼤地简化了传统异步编程中复杂的回调函数(callback hell)和状态机逻辑 。

2025-11-13 08:22:40 208

原创 python *和**做参数的用法

函数定义中使用 *total = 0for num in args: # args是一个元组# 调用:直接传入多个位置参数print(sum_numbers(1, 2, 3)) # 输出: 6 (args = (1, 2, 3))# 函数调用中使用 * 展开numbers = [4, 5, 6] # 列表print(sum_numbers(*numbers)) # 输出: 15 (相当于 sum_numbers(4, 5, 6))# 函数定义中使用 **

2025-11-02 17:35:03 1340

原创 python with使用介绍

with。

2025-11-02 17:28:09 1324

原创 PySide6集成yolo v8实现图片人物检测、视频人物检测以及摄像头人物检测

本篇博客介绍Python YOLO目标检测, 并在PySide6应用里集成YOLO v8实现图片人物检测、视频人物检测以及摄像头人物检测。

2025-11-01 20:18:05 2041 1

原创 QtQuick3D入门(6):3D粒子系统

场景:HDR 天空盒 + 一个高反射球体 + 一个点光源。粒子表现:从上方特定区域发射大量“雪花”(当前使用的贴图可能是占位),粒子向下移动并在生命周期结束时消失,系统预热 15 秒以便初始即显示完整雪景。

2025-10-28 21:23:48 163

原创 QtQuick3D入门(5):实例化渲染

实例化渲染是一种优化技术,它允许你只用一个绘制命令(Draw Call)就渲染出成千上万个外观相同(或相似)的物体。它的核心思想是:提供一个“蓝图”:告诉GPU,“我要画一个立方体(或一棵树的模型)”。提供一个“数据列表”:你再给GPU一个列表,这个列表包含了每一个实例(instance)的独特信息,比如它的位置、旋转、缩放、颜色等。GPU完成工作:GPU接收到这个“蓝图”和“数据列表”后,会自己高效地循环这个列表,将蓝图模型在指定的位置、以指定的姿态和颜色等绘制出来。

2025-10-28 21:11:33 191

原创 QtQuick3D入门(4):天空盒

提供实时生成的立方体贴图(例如:实时反射 Probe)。

2025-10-27 22:40:37 529

原创 QtQuick3D入门(2):材质 material

QtQuick3D的材质大部分也是参照OpenGL的实现,只是在OpenGL里使用起来刚方便。在 OpenGL 的 3D 开发中,材质(Material)用于描述物体与光线的交互方式,是光照计算中非常关键的一部分。材质决定了物体的视觉效果——比如是否看起来是金属、塑料、玻璃或皮肤。在现代 OpenGL (尤其是基于着色器的管线,例如 OpenGL 3.3+)中,材质通常通过 uniform 或 纹理贴图 的方式传递给着色器。

2025-10-27 22:07:12 203

原创 Python偏函数partial的用法

Python偏函数partial用法详解 摘要:Python的functools.partial用于创建部分参数绑定的函数版本,简化函数调用。文章介绍了7个核心用法:1)基本参数绑定规则;2)与map/sorted等标准库函数配合;3)回调函数传额外参数;4)创建参数化装饰器;5)与lambda的对比;6)调试属性;7)类方法中的partialmethod。partial能固定部分参数,返回可调用对象,适用于柯里化、回调传参等场景,比lambda更具可读性和可序列化优势,是Python函数式编程的重要工具。

2025-10-23 22:10:13 755

原创 python asyncio的各种用法与代码示例

本文是一份Python asyncio实战手册,涵盖从基础到进阶的核心概念和代码示例。主要内容包括:async/await语法基础、并发执行(create_task/gather/as_completed)、超时控制与取消(wait_for/timeout)、同步原语(Semaphore/Lock/Event)、生产者-消费者模式(Queue)以及Python 3.11+的TaskGroup特性。所有示例仅依赖标准库,适配Python 3.10+,并特别标注了3.11+专属功能。

2025-10-23 21:59:27 825

原创 C++ std::unordered_map使用结构体为key与自定义哈希函数

在使用std::unordered_map时常见的是用基本数据类型作为key, 例如int、string等等,如果用到自定义类型,例如结构体或者类,那么就要需要额外提供第 3 个参数"哈希函数",有时候还要提供第 4 个参数"相等比较器"。所以 unordered_map 一般有 最多五个模板参数。

2025-09-20 15:58:15 378

C++ QMainWindow无边框窗口自定义标题栏可拖拽移动拉伸改变窗口大小

C++ QMainWindow无边框窗口自定义标题栏可拖拽移动拉伸改变窗口大小,适用于Win11、Win10, 自带窗口阴影圆角。

2024-04-23

C++ glog demo

C++ glog demo, 运行环境vs2019、VS2022,x86, 如果需要x64编译,需要自己下载编译glog x64的sdk

2024-04-23

Qt蓝牙串口源码支持十六进制发送、字符发送、定时发送

1、可以使用vs2019/vs2017 Qt进行编译 2、源码说明链接:https://mingshiqiang.blog.csdn.net/article/details/80733737

2022-02-22

Qt子线程更新数据发到主线程显示.rar

Qt的子线程无法直接更新主UI,需要发送信号到主线程进行更新,我用的QTableWidget展示数据。

2019-08-18

C# Winform数值实时曲线(完整示例)

C#实现显示实时数据,并形成曲线,保存数据,完整的项目代码

2017-07-01

ffmpeg3.2.4_Win32开发库文件

ffmpeg3.2.4_Win32开发库文件,包含头文件,静态库lib, 动态库dll.

2018-06-03

华为C++/C/java代码规范(完整版)

最新的华为代码规范,适用于C++/C/java,高清带目录,格式标准的代码给自己和维护者都是一种享受,建议程序员多看看。

2018-03-14

支持向量机通俗导论(理解SVM的三层境界)PDF

这应该是全网最全最清晰的SVM学习的资料了,我学了10天,终于了解了,大家可以学学看。PDF文档学会后,可以结合OpenCV的源码看看,相信你们一定有大的收获。

2018-04-13

jsoncpp_sdk_x64.rar

vs2017编译的jsoncpp sdk, 包含Debug和Release版本dll, lib , include,可以和其它sdk一样直接包含到项目中使用,可以去我的博客C++专栏找使用方法。

2020-04-06

Halcon12与MFC数字识别详细教程

基于Halcon12的数字识别,识别精确,关于代码的解释,请关注的我的博客,在博客里我做了详细的解释。

2018-07-09

Qt进度条QProgressBar的使用(详细代码)

详细的工程代码与注释,讲解Qt进度条QProgressBar的使用方法,完整的代码。

2018-05-03

C# TCP网络通信示例:多人聊天发文件

该资源包含客户端,服务器, 用户注册到数据库(可自行裁剪该功能),通过TCP 实现聊天,发文件,可以多人同时聊天。代码有完整的注释,是完整的项目。

2018-04-02

很全的 Qt qss

这是一个Qt第三方样式表,下载后,可以直接加到项目中使用。不知道怎么用的,可以关注我的Qt专栏。使用链接:https://mingshiqiang.blog.csdn.net/article/details/108860180

2020-09-29

c++ PImpl实现机制

**PIMPL** ,即Private Implementation,一般称之为类的私有化实现,PImpl主要有两个作用; (1)它让声明和实现进行解耦,在项目开发时,如果很多文件引用了该头文件,如果头文件改变了一些实现,那么在编译时,所有引用的文件也得重新编译一次,增加了c++程序的编译时间, 如果把实现用一个指针进行声明,改变实现的代码,只会关联一次,降低了耦合度,可以减少编译时间。 (2)Pimpl,也可以称之为pointer to implementation, 指向实现的指针,可以用来对“类的接口与实现”进行解耦,比如在sdk开发时,可以用这个技巧来避免在头文件中暴露私有细节,使sdk接口与实现保持完全分离。

2021-09-15

Win10 Git Bash闪退的解决方案文件

当你的Win10系统出现Git Bash闪退时,需要该文件进行开启相关服务,可以参考我的博客进行解决。

2018-11-07

C++/OpenCV2.4.9 数字精确识别源码

利用OpenCV的图像处理技术,对图像进行灰度处理,二值分析,降噪,滤波等,识别照片中的数字,完美精确, C++ VS2015代码,有详细的代码注释,完整源码。

2017-11-02

MusicPlayer.rar

该音乐播放器使用Qt开发,代码用QtCreator编写,下载即可使用,主要用QMediaPlayer的一些功能,可以看我的博客讲解。

2019-11-17

中国象棋源码(C++/MFC)

用MFC写的中国象棋游戏,VS2015可以直接编译,有多重AI算法,有兴趣可以研究,全网最好的象棋代码。又不懂的可以看看我的博客,有讲解。

2018-12-24

ffplay源码架构图.vsdx

我用visio2016画的,把ffplay源码中的各个模块都展现出来了,有兴趣的可以去看看我的博客。

2019-12-08

lua-5.3.4源码

lua5.3.4源码,导入VS2015可以直接编译,想学习分析Lua源码的可以下载,研究。

2019-01-10

FileDownlod.rar

Qt实现的网络文件下载,用QtCreator可以直接打开编译,运行,我的博客有讲解,可以去看看。

2019-08-05

空空如也

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

TA关注的人

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