- 博客(395)
- 资源 (5)
- 收藏
- 关注
原创 visual studio 性能调试
调试 -> 性能查看器 -> CPU使用率 -> 开始 -> 外部代码 -> 调用树。如果外部代码中没有啥东西,则先清理,再生成一遍。在 Visual Studio 中获取类似截图中详细的函数级耗时分析(尤其针对 DLL 中的函数),需要进行以下关键设置,这些设置专门针对。
2025-07-22 13:23:16
825
1
原创 常用的100个opencv函数
以下是OpenCV中最常用的100个函数及其作用与注意事项的全面整理,按功能模块分类,结合官方文档与工业实践优化排序。各函数均标注Python(cv2)和C++()命名,重点参数以。
2025-07-17 11:36:27
1368
原创 多进程使用
下面是一个基于C++11在Windows平台(Visual Studio)实现的多进程通信Demo,包含(父子进程通信)、(跨进程双向通信)和(SMTP)三种机制。
2025-07-14 13:37:53
461
原创 池化技术—资源型和DL型
摘要:池化技术分为资源管理优化(如线程池、连接池)和深度学习特征处理(如CNN池化层)两类。资源管理型池化通过复用资源(如数据库连接)提升系统性能,减少开销,但需处理并发安全和资源泄漏问题。深度学习池化(如最大池化、全局池化)用于降维和特征增强,提升模型鲁棒性。两类技术虽应用领域不同(后端开发/计算机视觉),但核心思想均为“以空间换时间”。实际应用中需根据场景选择合适池化策略,并动态调整参数以平衡效率与资源利用率。
2025-07-11 09:14:19
974
原创 git fetch的使用
git fetch是Git的核心命令,用于从远程仓库安全同步最新数据(提交记录、分支、标签等)到本地仓库,但不会自动合并或修改工作区文件。它与git pull的主要区别在于:fetch只下载数据更新远程跟踪分支(如origin/main),而pull会直接合并到当前分支。
2025-07-10 14:43:33
616
原创 缺陷识别-各自适用于哪些场景呢?
缺陷检测被广泛使用于布匹瑕疵检测、工件表面质量检测、航空航天领域等。传统的算法对规则缺陷以及场景比较简单的场合,能够很好工作,但是对特征不明显的、形状多样、场景比较混乱的场合,则不再适用。
2025-07-08 08:44:10
394
原创 Pipeline 管道,进程间通信
本文介绍了Windows平台下C++管道通信的两种实现方式:匿名管道和命名管道。匿名管道适用于父子进程单向通信,通过CreatePipe创建,需注意句柄继承和关闭;命名管道支持无关进程双向通信,提供同步和异步两种模式。文章详细讲解了两种管道的核心步骤、代码示例(包括服务端/客户端实现)和常见问题解决方案,并给出了选型建议:匿名管道适合子进程输出重定向,命名管道更适合跨进程通信,高并发场景推荐异步模式。关键注意事项包括管道命名规范、超时控制和资源释放等。
2025-07-03 11:25:35
765
原创 struct Filter中 friend std::ostream &operator<<(std::ostream &os, const Filter&obj)
友元运算符 << 重载。这在 C++ 中具有特定的设计目的和使用场景,下面从语法解析、设计动机、优缺点三个维度详细说明。
2025-06-19 15:02:31
433
原创 std::distance 和 .size()的区别
在 C++ 中,std::distance 和 .size() 虽然都能获取元素数量,但二者的设计目的、适用场景和性能特性有显著差异。
2025-06-19 14:34:35
456
原创 std::distance的用法
是 C++ 标准库中用于计算两个迭代器之间元素个数的函数,定义在 头文件中。其核心功能是返回从起始迭代器 到结束迭代器 之间的元素数量(左闭右开区间)。以下是详细用法及关键注意事项: 参数: :起始迭代器(包含)。 :结束迭代器(不包含)。 返回值: 到 的元素数量,类型为 (通常为 )。2. 基础示例 说明: 到 包含全部元素(5个); 到 包含索引 1~3 的元素(20, 30, 40),共 3 个元素。⚠️ 二、关
2025-06-19 14:32:32
579
原创 C++ std::set的用法
std::set是 C++ 标准模板库(STL)中的关联容器,用于存储并按特定排序规则自动排序(默认升序)。其底层通常基于红黑树实现,因此插入、删除和查找操作的时间复杂度均为 。
2025-06-19 14:25:36
457
原创 C++ make_shared 用法
std::make_shared是C++11引入的模板函数,用于创建并管理std::shared_ptr智能指针,语法如下:
2025-06-18 17:22:45
692
原创 opencv的setDefaultAllocator使用
/ 内存池指针public:// 初始化内存池// 返回预分配的内存// 内存池无需单独释放,析构时统一释放高频内存操作:如实时视频分析、高分辨率图像处理;资源受限场景:嵌入式设备、移动端;高级内存策略:内存监控、硬件加速优化。💡 推荐实践:优先在性能瓶颈模块(如循环处理图像的代码块)使用局部分配器,避免全局影响。完整代码示例可参考OpenCV源码的mat.hpp中的定义。
2025-06-18 15:26:58
896
原创 opencv 锁页内存的使用
**本质**:轻量级头转换,通过共享锁页内存地址实现零拷贝。核心价值:打通HostMem与cv::Mat的访问接口,兼顾GPU处理效率和OpenCV生态兼容性。适用场景:需频繁在GPU处理结果与OpenCV函数间传递数据的实时应用(如实时视频增强、目标检测后处理)。锁页内存如同一条直通车道,而是进入车道的快速入口——无需绕行,直抵核心。
2025-06-18 09:51:55
359
原创 使用C++调用python库
1、将A电脑的"D:\Python\Python310"文件夹,直接拷贝到"D:\Python\Python310";1、先安装python310的安装包;安装到"D:\Python\Python310"注意:记住要在path的前面,前面不能有其他路径的python,后面有无所谓;注意:记住要在path的前面,前面不能有其他路径的python,后面有无所谓;2、 配置系统环境变量;2、配置系统环境变量;如果运行代码报错:则执行下面的操作;
2025-06-04 16:29:08
397
原创 git强制将库中最新的代码拉到本地
以下是强制将远程仓库最新代码拉取到本地的完整操作指南,综合多个权威来源的最佳实践:⚠️ 操作前必读 数据丢失风险 此操作会永久删除以下内容:完整操作流程 🔄 替代方案 场景 命令 特点 保留本地修改同步远程 自动合并但可能需手动解决冲突 2683强制拉取所有分支 查看变更差异后再覆盖 自动化脚本 创建 文件: 执行:
2025-06-03 14:57:34
830
原创 git 新建一个分支,怎么首次推到远程仓库
通过以上步骤,本地分支即可同步到远程仓库,其他协作者可通过。这会同时完成分支的创建和切换操作。拉取远程更新,无需指定分支。
2025-05-26 09:43:58
1878
原创 git 删除某个远程库的分支
通过以上步骤,即可安全、高效地删除指定远程分支。这一步可避免误操作,确保分支名称正确。此操作会同步本地与远程仓库的分支状态。这两种方法均会从远程仓库中移除分支。
2025-05-26 09:33:45
1162
原创 git 暂存功能使用
暂存区的核心价值在于控制代码提交的粒度提升代码质量(精准提交)降低协作冲突(变更隔离)增强开发灵活性(多任务切换)优化版本历史可读性(逻辑清晰的提交记录)掌握暂存功能是 Git 高阶使用的标志,它能将版本控制从“粗糙提交”升级为“精细管理”,尤其适合复杂项目或团队协作场景。
2025-05-23 17:23:19
982
原创 储藏自己代码,合最新的主分支代码过来,恢复自己代码,解暂存,解冲突
通过以上步骤,既可安全合并其他分支的代码,又能保留本地改动并解决潜在冲突,确保版本控制的完整性和代码稳定性。
2025-05-20 13:58:21
430
原创 git 撤销最近的几次push
参数保留了所有改动在本地工作目录。若需要更安全的协作方案,建议改用。该方法通过重置本地分支指针并强制推送实现了远程历史回退,同时通过。若已有协作者拉取了这5次提交,需通知其用。生成5个反向提交(需按提交顺序逆序执行)若需保留提交历史,可使用。或创建新分支备份当前代码。
2025-05-20 13:31:42
550
原创 C++ std::future的使用
的核心价值在于 简化异步编程的复杂性和 提供类型安全的并发控制,适用于需要结果同步、异常处理或灵活任务调度的场景。其设计平衡了性能与易用性,是现代 C++ 并发编程的基石工具。
2025-04-24 14:06:48
926
原创 C++11 多线程
std::mutex,最基本的 Mutex 类。std::recursive_mutex,递归 Mutex 类。std::time_mutex,定时 Mutex 类。std::recursive_timed_mutex,定时递归 Mutex 类。下面以 std::mutex 为例介绍 C++11 中的互斥量用法。
2025-04-24 13:58:14
603
原创 线程池的使用
该线程池实现简洁高效,适合固定任务类型的场景,但需优化等待机制和扩展任务类型支持。通过结合原子变量与条件变量,平衡了性能与资源消耗,可作为轻量级并发工具的基础框架。
2025-04-24 11:47:36
346
原创 std::condition_variable 条件变量的使用
作用: 是 C++ 多线程编程中用于线程间同步的核心工具,其使用场景和核心价值体现在以下几个方面: 线程需要等待特定条件成立 当某个线程必须等待共享资源的某个状态(如队列非空、任务完成、数据就绪等)时,使用条件变量可以避免忙等待(busy-waiting),从而减少 CPU 资源的浪费。需要多线程协作完成复杂逻辑 当多个线程需要按特定顺序协作时(如线程 A 完成预处理后通知线程 B 执行),条件变量提供了一种高效的协调机制。避免轮询和资源浪费 若用 实现等待,会导致
2025-04-24 10:53:02
359
原创 cv::cuda::GpuMat 中的 flags、data、refcount、datastart、dataend 和 allocator 含义
在 OpenCV 的类中,成员变量flagsdatarefcountdatastartdataend和allocator。
2025-04-13 14:14:22
519
原创 C++ 计时的方法
C++11标准方法<chrono>库是首选,兼顾高精度、跨平台和易用性。传统方法<ctime>适用于简单场景,但精度和可靠性较低。扩展方案:平台特定API或第三方库可作为补充,但需权衡兼容性。
2025-04-02 17:02:11
919
原创 git 创建分支
切换到想依据哪个分支为基础而建立新的分支;创建新的分支,给定新的分支的名字;5,修改一点东西,然后提交commit + push,这样就可以在库中看到该分支了;1,git clone下来一个;
2025-04-02 10:02:20
162
原创 C++灵活的多态行为扩展
此代码通过虚函数与模板策略模式的结合,实现了灵活的多态行为扩展。核心优势在于运行时动态切换策略类型,同时保证了资源安全和代码可维护性。
2025-03-24 15:24:59
212
亚像素模板匹配—计算图像之间的亚像素偏差
2020-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人