
C++
文章平均质量分 77
菜猿外
高级搬运工程师,吹牛逼架构师。
展开
-
指针与引用:C语言中的内存魔法
指针的优势在于它可以使程序更加灵活,能够在运行时动态地分配和释放内存,提高程序的效率和资源利用率。然而,动态内存管理需要程序员自行负责内存的释放,否则可能导致内存泄漏,造成系统资源的浪费和程序性能下降。通过将函数参数定义为指针类型,我们可以在函数内部直接修改实参的值,从而实现引用的效果。类似地,如果函数需要返回多个值,我们可以通过传入指针作为函数参数,将结果保存在指针指向的地址中。在C语言中,指针和引用是两个核心概念,它们为程序员提供了直接访问和操作内存的能力,是C语言的精髓所在。的值,最终输出的结果为。原创 2023-08-08 08:12:54 · 394 阅读 · 0 评论 -
文章标题:开放封闭原则 (Open-Closed Principle)
在本文中,我们将深入讨论开放封闭原则的原理,详细介绍它在软件设计中的意义,并通过示例代码来解析如何实现系统的可复用性和可扩展性。这样做的好处是,我们可以避免对现有功能造成破坏,减少引入新错误的风险,提高代码的稳定性和可维护性。类,添加对正方形的绘制方法。然而,这样的做法违背了开放封闭原则,因为我们直接修改了现有代码,可能导致对其他图形绘制功能产生不稳定性。原创 2023-08-03 07:40:41 · 145 阅读 · 0 评论 -
Hough Transform 霍夫变换检测直线
Hough Transform 霍夫变换检测直线从理论到代码,再从代码到理论(1)理论之通俗理解:1.在图像中检测直线的问题,其实质是找到构成直线的所有的像素点。那么问题就是从找到直线,变成找到符合y=mx+c的所有(x,y)的点的问题。2.进行坐标系变化y=mx+c,变成c=-xm+b。直线上的点(x1,y1),在转换坐标系后为一条直线。这个原理应该是高中的。 3.直线原创 2017-06-06 11:01:00 · 972 阅读 · 0 评论 -
TLD详细解析之 检测器
扫描方式前面已经说过,具体参数【5.3】:scales step =1.2, horizontal step =10 percent of width, vertical step =10 percent of height, minimal bounding box size = 20 pixels. This setting produces around 50k bounding box转载 2017-05-18 15:55:43 · 2015 阅读 · 0 评论 -
TLD 详细解析之 综合器
下面是自己在看论文和这些大牛的分析过程中,对代码进行了一些理解,但是由于自己接触图像处理和机器视觉没多久,另外由于自己编程能力比较弱,所以分析过程可能会有不少的错误,希望各位不吝指正。而且,因为编程很多地方不懂,所以注释得非常乱,还海涵。 TLD.h[cpp] view plaincopy#include #inclu转载 2017-05-18 15:53:39 · 1410 阅读 · 0 评论 -
TLD 详细解析之 跟踪器
目标跟踪的一般思想是跟踪目标中关键点。TLD也是跟踪点(但不是跟踪SIFT之类的关键点)。点跟踪采用的是光流法,具体来说是Pyramidal Lucas-Kanade tracker,这个以后机会再介绍,推荐阅读《Learning OpenCV》第10章的Lucas-Kanade Method部分,这里只介绍OpenCV的实现函数,跳过原理和实现细节。 首先看跟踪点的函数,calcO转载 2017-05-18 15:51:34 · 2892 阅读 · 2 评论 -
TLD 详细解析之整体框架
下面是自己在看论文和这些大牛的分析过程中,对代码进行了一些理解,但是由于自己接触图像处理和机器视觉没多久,另外由于自己编程能力比较弱,所以分析过程可能会有不少的错误,希望各位不吝指正。而且,因为编程很多地方不懂,所以注释得非常乱,还海涵。 从main()函数切入,分析整个TLD运行过程如下:(这里只是分析工作过程,全部注释的代码见博客的更新)1、分析程序运行的命令行转载 2017-05-18 15:39:15 · 2189 阅读 · 1 评论 -
Linux 下LCD的驱动
一、FrameBuffer 原理、实现与应用 一、FrameBuffer的原理 FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。 Linux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Linux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模仿原创 2017-03-09 20:07:03 · 554 阅读 · 0 评论 -
C语言strcpy()函数:复制字符串
头文件:#include 定义函数:char *strcpy(char *dest, const char *src);函数说明:strcpy()会将参数src 字符串拷贝至参数dest 所指的地址。返回值:返回参数dest 的字符串起始地址。附加说明:如果参数 dest 所指的内存空间不够大,可能会造成缓冲溢出(buffer Overflow)的错误情况,在编写程原创 2017-02-14 20:54:48 · 1371 阅读 · 0 评论 -
c和c++中字符串的截取
C字符串和C++字符串 在C中,并没有字符串这个数据类型,而是使用字符数组来保存字符串。C字符串实际上就是一个以null('\0')字符结尾的字符数组,null字符表示字符串的结束。需要注意的是:只有以null字符结尾的字符数组才是C字符串,否则只是一般的C字符数组。 C字符串定义时可以利用"="号进行初始化,但是以后不能利用"="对C字符串进行赋值。对C字原创 2017-02-21 20:44:42 · 4845 阅读 · 0 评论 -
C++中string 和其他类型之间的转换
C++ 中int,char,string,CString类型转换1. c++中string到int的转换1) 在C标准库里面,使用atoi:#include #include std::string text = "152"; int number = std::atoi( text.c_str() ); if (errno == ERANGE) //可能是s原创 2017-02-19 21:08:53 · 902 阅读 · 0 评论 -
反向投影在模板匹配中的应用
1.需要知道的问题。什么是反向投影,它可以实现什么功能?如何使用OpenCV函数 calcBackProject 计算反向投影?如何使用OpenCV函数 mixChannels 组合图像的不同通道?2.原理 (1)什么是反向投影?反向投影是一种记录给定图像中的像素点如何适应直方图模型像素分布的方式。简单的讲, 所谓反向投影就是首先计算某一特征的直方图模型,然后使用模型原创 2017-02-19 10:22:41 · 879 阅读 · 0 评论 -
运动检测与跟踪之动态背景的更新
转载自http://blog.youkuaiyun.com/dcrmg/article/details/52263532运动物体检测与跟踪中的帧差分法,除了相邻帧差分法和三帧差分法外,还有一种差分方法,可以通过建立不含前景的背景模型,用当前帧和背景模型做差,差值就可以体现运动物体大概的位置和大小信息。相比相邻帧差分法和三帧差分法,背景模型做差法可以较为完整的体现运动物体的整体轮廓,运动物体的双转载 2017-02-28 10:59:39 · 3297 阅读 · 2 评论 -
Otsu 大律法 图像二值化
转载自 http://blog.youkuaiyun.com/timidsmile/article/details/8493468 otsu法(最大类间方差法,有时也称之为大津算法)使用的是聚类的思想,把图像的灰度数按灰度级分成2个部分,使得两个部分之间的灰度值差异最大,每个部分之间的灰度差异最小,通过方差的计算来寻找一个合适的灰度级别 来划分。 所以 可以在二值化的时候 采用otsu算法来自动转载 2017-02-28 10:40:59 · 2197 阅读 · 0 评论