社会边角料_
写代码是没有前途的
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
opencv入门
Point 类用来表示二维坐标系中的一个点。OpenCV 提供了两个版本:Point2i(或简称 Point)用于整数坐标,Point2f 用于浮点数坐标。示例// 创建一个整数类型的点 (x=10, y=20)// 创建一个浮点类型的点// 在图像上绘制这个点// 创建一个100x100的黑色图像// 在点pt处绘制一个绿色圆圈。原创 2025-11-18 15:50:34 · 17 阅读 · 0 评论 -
tensorRT高级-yolov5模型编译到推理(无封装)
【代码】tensorRT高级-yolov5模型编译到推理(无封装)原创 2025-10-23 17:11:35 · 17 阅读 · 0 评论 -
tensorRT基础-模型推理时动态shape的具体实现要点
1.原创 2025-10-22 14:14:10 · 25 阅读 · 0 评论 -
最简单的tensorrt程序,实现模型编译和推理
假设输入是 [1.0, 1.0, 1.0](即 x0=x1=x2=1),偏置 b = [0, 0]🔍 第二步:addFullyConnected 需要什么样的权重?🔢 第三步:你的权重数组如何排列?所以输出是 [3.5, 0.8]🧮 第五步:矩阵乘法示例。原创 2025-10-22 11:18:23 · 21 阅读 · 0 评论 -
cuda运行时API-内存的学习,pinnedmemory
Device To Host 的过程,等价于。Host To Device 的过程,等价于。原创 2025-10-17 09:33:13 · 22 阅读 · 0 评论 -
YOLO 模型前向推理全流程(以 YOLOv8 为例)
形状:(1, 4 * reg_max, 80, 80)、(1, 4 * reg_max, 40, 40)、(1, 4 * reg_max, 20, 20)形状:(1, 80, 80, 80)、(1, 80, 40, 40)、(1, 80, 20, 20)(COCO 80 类)实际使用时通过卷积解码为 (l, t, r, b) 四个距离(归一化到特征图尺度)将缩放后的图像(640×480)居中放置在 640×640 的画布上。前 4 行:[l, t, r, b](归一化的距离)填充短边(letterbox)原创 2025-09-16 18:05:33 · 107 阅读 · 0 评论 -
非极大值抑制(Non-Maximum Suppression, NMS)
即:IM 把变换后的点 (x’, y’) 映射回原始点 (x, y)。如果 IoU > 阈值,说明是重复检测,将那个低分框标记为“删除”。否则,保留这个框(因为它目前是置信度最高的未被删的框)。假设输入的检测框已经按置信度从高到低排序。如果当前框已被标记删除,跳过。计算它们与当前框的 IoU。最终返回所有未被删除的框。原创 2025-09-16 17:14:54 · 48 阅读 · 0 评论 -
std::initializer_list<int> 和 std::vector<int>
使用 std::initializer_list 和 std::vector 两种方式来构造 InputDims 类,并说明它们的区别。两者最终都会把数据存到 dims_ 这个 vector 成员变量中,区别只在于如何把数据传进来。为什么 InputDims 要同时支持两种构造方式?原创 2025-09-16 10:50:29 · 104 阅读 · 0 评论 -
C++ 中的 noexcept override
这样写出的代码,才是健壮、高效、可维护的现代 C++ 代码!原创 2025-09-16 10:23:39 · 40 阅读 · 0 评论 -
YOLO 检测前向推理流程
✅ YOLO 模型前向推理全流程(以 YOLOv5 为例)第一阶段:图像加载与预处理。原创 2025-09-15 17:40:21 · 146 阅读 · 0 评论 -
ubuntu python程序开机自启动
将上述内容保存为:🔧 启用并启动服务。原创 2025-09-01 09:41:29 · 123 阅读 · 0 评论 -
预测框和目标框距离之马氏距离
马氏距离的数学公式(直观理解)原创 2025-08-14 13:54:57 · 154 阅读 · 0 评论 -
最优配对之匈牙利算法
我们用马氏距离(前面讲的)来衡量“预测框”和“检测框”有多像。D 落单了 → 可能是一个新目标,开启新的跟踪 ID。我们想让每个“预测目标”找到一个“最像它的检测框”。✅ 步骤 3:用最少的“横线 + 竖线”覆盖所有 0。👉 现在有很多“0”,表示“潜在的最优匹配”。如果线数 = 行数(或列数),就可以找匹配了。我们可以把它想象成一个“划线找零”的游戏。目标:用最少的线,把所有的 0 都盖住。🎯 六、匈牙利算法的核心思想(一句话)大小为 nRows × nCols。👉 数字越小,越像,越应该匹配。原创 2025-08-14 15:06:51 · 368 阅读 · 0 评论 -
从零开始学 Makefile:写一个最简单的 C++ 构建系统
在学习 C++ 的过程中,你可能已经习惯了在 IDE 里点一个“编译”按钮,程序就跑起来了。但当你进入 Linux 环境、参与开源项目,或者想真正理解“程序是怎么从代码变成可执行文件”的时候,你就避不开一个工具: Makefile。别被这个名字吓到,今天我们从一个最简单的例子开始,手把手带你写一个属于你自己的 Makefile,彻底搞懂它的基本结构和工作原理。这个程序非常简单,只用了 ,是 C++ 标准库的一部分,不需要安装任何第三方库。加上 .PHONY 后,make 会忽略同名文件,强制执行命令。原创 2025-08-19 15:47:47 · 239 阅读 · 0 评论 -
从零开始理解一个复杂的 C++/CUDA 项目 Makefile
这是一个融合了 C++、CUDA(GPU 编程)、C 语言的复杂项目,可能用于视频处理、AI 推理(如 RetinaFace、SCRFD、TensorRT) 等高性能场景。今天,我们就来逐行解析一个真实项目中的 Makefile,带你揭开构建系统的神秘面纱!你是否好奇:“这么多 .cpp、.cu 文件,是怎么一步步变成可执行程序的?你是否曾经面对一个庞大的 C++ 项目,看到 Makefile 就头大?🌟 总结:Makefile 的构建流程。原创 2025-08-19 18:37:53 · 293 阅读 · 0 评论 -
opencv中创建卡尔曼滤波
OpenCV 会自动创建以下矩阵:其中KalmanFilter函数需要的参数以及含义如下:📚 卡尔曼滤波简要流程回顾预测阶段(Predict)更新阶段(Update)🎯 举个目标跟踪的例子(8维状态)假设你在用 DeepSORT 风格的卡尔曼滤波:那么这些变量的作用是:🔄 卡尔曼滤波的两个主要函数它们内部做了什么?👉 对应:👉 对应:✅ 总结:OpenCV 变量 ↔ 数学符号 对照表初始化建议:statePost:设为第一次检测结果。原创 2025-08-14 09:45:02 · 232 阅读 · 0 评论 -
std::copy_if
std::copy_if 是 C++ 标准库 头文件中的一个函数模板,用于从一个源范围中,根据指定条件(谓词)筛选元素,并将满足条件的元素复制到目标范围。原创 2025-08-15 18:53:49 · 143 阅读 · 0 评论 -
基于 C++ 线程池的多线程目标检测后处理系统设计与实现
在实际的智能视频分析系统中,目标检测(如 YOLOv5)只是第一步。检测结果往往需要进行后续处理:画框、报警、推流、日志记录等。这些操作如果在检测主线程中同步执行,会严重拖慢整体推理速度。本文将带你从零实现一个基于 C++ 模板线程池的异步后处理系统,实现“检测与后处理解耦”,提升系统吞吐量与响应性。🌟 一、系统设计目标🔧 二、核心组件详解。原创 2025-08-18 14:44:27 · 694 阅读 · 0 评论 -
多摄像头多算法智能监控系统设计与实现
在现代智能视频分析场景中,面对大规模、多区域的实时监控需求,构建一个能够同时接入多个摄像头、并为每个摄像头独立运行多种AI算法的系统架构至关重要。本文介绍了一套基于C++实现的多摄像头多算法动态加载方案,该系统具备良好的扩展性与灵活性,适用于复杂工业、安防及行为分析场景。加载绑定算法:读取每个摄像头的abilities数组,为每种算法创建独立的AlgorithmInfo实例。多算法并行:每个摄像头可配置多种AI算法(如人脸识别、离岗检测、睡岗识别等),各自独立运行。原创 2025-08-20 17:35:12 · 624 阅读 · 0 评论 -
c++ std::set用法
【代码】c++ std::set用法。原创 2025-08-15 15:43:54 · 124 阅读 · 0 评论 -
c++日志宏 INFO(...)
🧱 核心功能设计我们希望 INFO(…💡 实现原理::__printf__FILE____LINE__这需要函数能接收任意数量和类型的参数,这就是“可变参数”。原创 2025-08-19 20:33:03 · 357 阅读 · 0 评论 -
std::set_symmetric_difference
std::set_symmetric_difference 是 C++ 标准库 头文件中的一个函数模板,用于计算两个已排序序列的对称差集。对称差集指的是:只出现在其中一个序列中,但不同时出现在两个序列中的元素的集合。(集合A - 集合B) ∪ (集合B - 集合A)什么是“对称差集”?原创 2025-08-15 18:55:41 · 237 阅读 · 0 评论 -
方形指针表图像识别
但是这种指针表的范围是不一样的,有的是0-3kA,单位各种不一样,有v、A、kA、kV等各种单位,刻度的范围也各种不一样,有最大是3的,有100的,400的等各种范围,有很多还是刻度不均匀的情况。我看也有用传统方法去分割指针的,我感觉图片比较单一或者很清楚的条件下可以那么做,目前情况是,有各种各样的方形指针表,有的指针表上还有脏东西干扰,纯用传统方法不适用。把各自拍好的图片给各自的算法(每张图像中的表是不一样的,有压力表,油位计,压板,数字表等。懒得训练了,直接用传统方法做的。上边是yolo检测结果。原创 2023-12-29 12:24:28 · 1275 阅读 · 3 评论 -
智能指针shared_ptr promise future 条件变量
std::shared_ptr是C++标准库中的一种智能指针,允许多个shared_ptr实例共享对同一资源的所有权,通过引用计数自动管理资源的生命周期。以下是std::shared_ptr的初始化方法及其示例。原创 2025-08-11 09:25:18 · 176 阅读 · 0 评论 -
无人机单目相机获取目标定位经纬度
该项目和参考的项目的区别在于,没有用到激光测距,由于我的项目中,物体的大小是圆形且一直不变的,所以根据物体的大小和所占的像素多少去等比例计算每个像素所占用的实际大小即可,并且我的项目中无人机上额外安装的usb摄像头,垂直向下安装在无人机上,这样就可以通过摄像头去指定的经纬度附近去搜索目标了,如果指定位置附近没有目标,还有一个区域信息,会在一个四边形区域组成的四组经纬度高度中画Z形路径规划去搜索目标。本项目参考https://zhuanlan.zhihu.com/p/563226795。原创 2025-08-04 18:41:49 · 777 阅读 · 0 评论 -
图像跟踪中的卡尔曼滤波
矩阵维度是否需要手动设置?说明F8×8❌ 不需要固定为匀速模型,可“舍去”H4×8❌ 不需要固定只取前4个状态,可“舍去”I8×8❌ 不需要单位矩阵,固定Q8×8✅ 需要用设置,控制预测不确定性R4×4✅ 需要用noise设置,表示检测框误差P8×8✅ 需要用初始化,后续自动更新K8×4❌ 不需要自动计算,无需设置在目标检测中,卡尔曼滤波就像一个“聪明的猜谜者它用F和Q来猜下一帧在哪(预测)用H和R来对比检测框(更新)用P和K来决定信谁更多而FHI。原创 2025-08-06 21:33:08 · 882 阅读 · 0 评论 -
c++11 多线程复习整理(生产者消费者 条件变量 互斥锁)
本文将基于给出的C++代码示例,探讨如何实现生产者-消费者模式,并详细解释这段代码的设计思路、需要注意的地方以及其带来的好处。为了确保多线程环境下的安全访问,使用了互斥锁lock_和条件变量cv_来控制对共享资源的访问以及协调生产者和消费者之间的操作。每次成功消费一个图片名称后,都会调用cv_.notify_one()通知可能正在等待的生产者,告知队列现在有了空位,可以继续生产新的图片。增强程序的可维护性和扩展性:这种设计使得添加更多的生产者或消费者变得容易,只需调整同步逻辑即可支持并发度更高的应用场景。原创 2025-08-07 20:57:16 · 263 阅读 · 0 评论 -
opencv判断点是否在多边形内 c++
对于“点是否在多边形内”这种经典问题,OpenCV 的 pointPolygonTest 是最佳选择。它简单、高效、可靠,远优于手动实现的射线法。原创 2025-08-06 14:45:34 · 291 阅读 · 0 评论 -
opencv中绘制多边形区域 c++
定义了一个polygonPoints向量,它包含了多边形各个顶点的位置。然后,我们调用drawlines函数并传入这个多边形顶点的集合来绘制多边形的边界。此外,为了确保多边形是封闭的,我们在drawlines函数中添加了一行代码,用于绘制从最后一个点回到第一个点的线。这样就可以在图像上绘制出一个指定的多边形区域了。原创 2025-08-06 14:24:15 · 185 阅读 · 0 评论 -
usb摄像头图像推流到srs服务器 c++
ffmpeg推流原创 2025-07-23 18:07:56 · 272 阅读 · 0 评论 -
c++中单例模式
为了在多个文件或者多个地方保证只有一个全局指针,可以使用单例模式。原创 2025-08-07 09:00:00 · 108 阅读 · 0 评论 -
c++中使用函数实现对类的封装
【代码】c++中使用函数实现对类的封装。原创 2025-08-07 13:24:19 · 110 阅读 · 0 评论
分享