- 博客(45)
- 资源 (4)
- 收藏
- 关注

原创 一个很好很好用的前景检测算法库
https://github.com/andrewssobral/bgslibrary 包含各种前景检测算法(背景建模),而且统一了接口,所有算法都是用同样的接口,调用简单,亲测,很好用,推荐给大家。
2017-03-17 12:04:41
1488

原创 STL 多维向量的定义以及初始化
基本工作: #include using namespace std;一维向量:vector<int> vector_1D_1;//只定义向量vector<int> vector_1D_2(n);//定义的同时初始化大小vector<int> vector_1D_3(n,m);//定义的同时初始化大小为n,元素初始值为mvector<int> vector_1D_4;ve
2016-12-15 11:20:21
2147

原创 最新版libvibe++移植到Windows
vibe是一种像素级的前景检测算法,实时性高,内存占有率低,前景检测准确率高。但是会出现“鬼影”,当然基于对鬼影的处理,也会有相应的对vibe算法的改进。 把下面三篇文章看明白,基本就会掌握vibe算法的过程: 《 ViBe: a powerful random technique to estimate the background in video sequences》 《Backgrou
2016-12-07 22:40:51
2218

原创 关于广义特征值问题的求解[泛化特征值问题][扩展特征值问题]
最近接触到LDA(线性判别分析)、LFDA(局部性性判别分析)、FLDA(Fisher线性判别分析)、MMDA(多模式判别分析)等关于特征提取的方法,其中都涉及到了同一个问题——Fisher Criterion(Fisher判别准则),该准则要求同时使得类内离散度最小和类间离散度最大,问题描述如图所示:这样就引出了广义的特征值问题,对于该问题的求解,也就进一步转换为求解上面的非对称矩阵
2016-09-22 10:42:42
6897

原创 可控人脸隐私(使用子空间分解方法独立的改变人脸图片属性(如年龄性别种族))
本文主要介绍了新加坡国立大学的这篇论文【Controllable Face Privacy】http://xueshu.baidu.com/s?wd=paperuri%3A%281ab7cf379721e75cc432186d3268dcc0%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Fieeexp
2016-09-20 19:23:58
1061
原创 为什么通过设置ROI无法修改图像(opencv)
项目中的一个小功能,需要实现视频特定区域的背景替换,遂写下这样一个函数:void bgReplace(Mat& dst, Mat&bg, Rect rec){ assert(dst.size()==bg.size()); assert(dst.depth() == bg.depth()); dst(rec) = bg(rec).clone();//可深可浅}功能,用rec
2017-12-04 16:56:23
556
原创 C++左值右值和移动语义
最近看了很多相关博客,自己总结一下,单纯根据在等号左边还是右边明显判断太过粗糙,我的大致理解如下: 判断object是左值还是右值(三种方法): (1)object能否被取地址,即&object是否合法; (2)object能否被赋值,即object=other_object; (3)object在当前语句执行完就销毁还是会继续存在,即临时对象还是持久对象;
2017-08-13 14:28:11
610
原创 兔子繁衍问题求解(阿里巴巴2017在线编程题)
题目描述(大概): 在一个荒岛,一个猎人带去了一对刚出生的兔子(一公一母),兔子年龄为n,当兔子年龄大于2岁时每年会生下一对兔子,直到死去的前一年,每年末,当岛上兔子大于10对时,猎人会带走年龄最大的两对兔子,求y年后岛上兔子年龄总和,这里为简便记,只求最终的兔子总对数。思路一:采用面向对象的思想,一个兔子为一个对象,兔子有成员变量:年龄、最大年龄,兔子有成员函数:繁衍函数、死亡函数;如此,维护一
2017-08-08 22:29:17
6587
原创 理解c++STL regex_research()
简单说一下自己的理解,就谈一下这个重载版本吧:函数如下 bool regex_search (const basic_string<charT,ST,SA>& s, match_results<typename basic_string<charT,ST,SA>::const_iterator,Alloc>& m, const basic_regex<char
2017-07-25 23:29:45
1397
原创 关于C和C++编译器引发的一系列问题
参考资料http://blog.youkuaiyun.com/a125930123/article/details/53558041 __cplusplus是一个预定义宏,只要你的文件后缀名是.cpp,则该宏便有了。但是,我们通常需要在C++文件了只用一些C的函数,由于C++的多态特性,同名函数可以执行不同的功能,为了加以区分,则会在编译的时候修改函数名,而这和C编译的结果就不一样了,从而导致通常在C++文件
2017-07-19 10:28:25
614
原创 理解C++枚举变量
enum MyEnum { aa=8, bb, cc, dd, ee , }; MyEnum tes = ee; cout <<tes;对于这样一个枚举类型定义,经过测试,aa之后的元素取值为8,9,10,11,12。 但是,当枚举类型定义为enum MyEnum {
2017-07-18 14:55:43
1916
原创 C++跨域重载实践
最近再看设计模式,之前看了一遍《大话设计模式》,这次就重新选择了一本秦小波著的《设计模式之禅》,在第二章讲里氏替换原则时(15页),使用的是Java的例子,当子类出现和父类同名的函数(doSomething())时,明天再写
2017-07-02 00:03:21
571
原创 理解C++中重载、重写和隐藏
为了后面说重载,这里就先说隐藏吧 隐藏: 函数和被隐藏函数在不同类,暂且为父类和子类吧,只要子类出现和父类同名的函数(只需要名字相同),则父类中该函数在子类中被隐藏,也即不可访问,除非是用于替换被声明为需要父类参数的地方(即子类此刻被隐式或显示转换为父类,可想想里氏代换这个东西)。重载: 重载函数和被重载函数必须在同一个可访问区域,这里的可访问区域可以结合隐藏部分来理解,重载
2017-07-01 11:44:33
342
原创 理解单例模式(C++)
单例模式是面试过程中经常被问到的一个模式,所以,自己写了些运行了一下,谈谈自己的感受://sigle.h#include<iostream>using namespace std;class Item{private: Item(){} static Item* p; ~Item();public:
2017-06-03 10:08:55
352
原创 C++类 内存对齐和类大小理解
至于为什么会有这个问题,我就不说了。 首先,默认的块对齐长度是4字节,此外也可以通过#pragma pack(x)修改,同时,自己修改完之后记得使用#pragma pack()恢复默认值。此外,又分了集中情况: (1)如果有虚函数,则会存储虚函数表的地址(仅一个地址,4字节或8字节),改地址是存放在类内存的最开始的地方。 (2)如果出现比x大的非静态成员变量(静态成员变量不算在类内存里面,而是
2017-04-05 09:25:53
813
原创 一个程序看懂C++ switch 执行流程
先上代码:#include <iostream>using namespace std;int main(){ int a = 0,sum = 0; for (; a <=3;a++) { switch (a) { default:sum += 4; case 1:sum += 1; cas
2017-02-27 20:49:23
2285
3
原创 对C++11条件变量的理解(逻辑)
之前对条件变量一直抱有疑惑,通过互斥锁已经能够保证同一时刻只有一个线程访问共享区资源了,那还要用条件变量干什么呢?说到这里,解惑来源于这篇文章c++11线程之条件变量condition_variable,互斥锁只能保证线程不同时访问共享区资源,但是访问的顺序是杂乱无章的,而条件变量是为了保证线程操作按顺序进行。 还有,条件变量std::condition_variable::wait(std::
2017-02-17 22:53:05
3280
原创 二叉排序树实现(C++)
最近要找工作了,着手实现了二叉排序树,这里主要说一下我的主要收获:加深了对指针的理解,尤其是二重指针。如果你还没发现二重指针的奥妙,说明你还没懂C++,当然,你懂了也可能没懂。下面是我的源码:#include<memory>#include<iostream>using namespace std;class bitreenode{public: int data; bi
2017-02-08 20:40:32
700
原创 C++双向链表实现
纯属无聊,自己实现了一下双向链表,主要操作有头插法尾插法建表,从前往后和从后往前遍历,其他的功能暂时没有实现,因为只是无聊,但是唯一的收获就是:真的理解了头结点(尾节点)的重要性和便捷性,最初是从大话数据结构得知的这个问题,不明觉厉,所以自己动手,果然发现,只有头指针真的会有很多不方便,其中奥秘,各位慢慢体会。 以下是我的实现,只有头指针,没有头结点:#include<memory>#inclu
2017-01-17 18:29:16
990
原创 C++链栈实现
这只是个很基础的联系,实现了链栈的后进先出功能,纯属无聊。#include<memory>#include<iostream>#include<string>using namespace std;class linkstacknode{public: int data; linkstacknode* next; linkstacknode(){ next = n
2017-01-17 10:21:57
953
原创 关于opencv直方图计算函数 calcHist()的channels参数的理解
一下附上该函数的声明:void calcHist(const Mat* arrays, int narrays, const int* channels, InputArray mask, OutputArrayhist, int dims, const int* histSize, const float** ranges, bool uniform=true, bool accumulate=
2016-12-19 09:47:47
1327
原创 关于已经初始化的vector使用assign函数后出现元素访问越界
因为assign()函数会在赋值的时候调整原向量的size,而capacity保持不变。 以下是C++文档 中的具体描述: Assign vector content Assigns new contents to the vector, replacing its current contents, and modifying its size accordingly.
2016-12-16 15:27:22
1580
转载 C++ STL 一般总结
http://www.cnblogs.com/biyeymyhjob/archive/2012/07/22/2603525.html二、STL的六大组件容器(Container),是一种数据结构,如list,vector,和deques ,以模板类的方法提供。为了访问容器中的数据,可以使用由容器类输出的迭代器; 迭代器(Iterator),提供了访问容器中对象的方法。例如,可以使用一对迭代器指定l
2016-12-15 10:35:52
575
原创 CCF交通规划C++版源码分享(201612-4)
问题描述 G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统。 建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改造成高速铁路。现在,请你为G国国王提供一个方案,将现有的一部分铁路改造成高速铁路,使得任何两个城市间都可以通过高速铁路到达,而且从所有城市乘坐高速铁路到首都的最短路程和原来一样长。请你告诉G国国王在这些条
2016-12-14 17:22:03
1214
原创 CCF201612-4交通规划 C++(内存超限制)
问题描述 G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统。 建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改造成高速铁路。现在,请你为G国国王提供一个方案,将现有的一部分铁路改造成高速铁路,使得任何两个城市间都可以通过高速铁路到达,而且从所有城市乘坐高速铁路到首都的最短路程和原来一样长。请你告诉G国国王在这些条
2016-12-13 18:24:57
972
原创 CCF火车票座位分配C++源码(非100)
include includeincludeusing namespace std; int arr[20][5];void init() { int i = 0, j = 0; for (; i < 20; i++) { for (; j < 5; j++) { arr[i][j] = 0;
2016-12-12 21:03:52
2498
2
原创 CCF201604-3路径解析C++未完善源码
问题描述 在操作系统中,数据通常以文件的形式存储在文件系统中。文件系统一般采用层次化的组织形式,由目录(或者文件夹)和文件构成,形成一棵树的形状。文件有内容,用于存储数据。目录是容器,可包含文件或其他目录。同一个目录下的所有文件和目录的名字各不相同,不同目录下可以有名字相同的文件或目录。 为了指定文件系统中的某个文件,需要用路径来定位。在类 Unix 系统(Linux、Max OS X、
2016-12-09 16:08:29
631
原创 看起来很舒心的高性能线性代数运算库在线文档
eigen3.3.0 : http://eigen.tuxfamily.org/dox/group__SparseQuickRefPage.html
2016-12-01 16:13:02
523
原创 CCF俄罗斯方块C++版
试题编号:201604-2试题名称:俄罗斯方块时间限制:1.0s内存限制:256.0MB问题描述 俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏。 游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块。每一轮,都会有一个新的由4个小方块组成的板块从方格图的上方落
2016-11-13 19:05:35
768
原创 CCF炉石传说题目代码详解C++版(类封装通俗易懂)
试题编号:201612-3试题名称:炉石传说时间限制:1.0s内存限制:256.0MB问题描述 《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所使用的炉石传说游
2016-11-13 11:10:27
2638
原创 关于CvEMParams、CvEM未声明的错误
最近做目标跟踪,用到EM 算法,很自然地,机器学习除了仅有的Mahalanobis、K均值在CXCORE中,人脸检测算法在CV中,其他的都在ml库中,其实,有些情况不是这样的,期望最大化算法在后来的opencv库已经被迁移到了opencv2/legacy/legacy.hpp,如果再用ml库则会提示找不到,当然这只是EM的C版本,C++版本仍然在ml 库中。所以,使用CvEMParams、Cv
2016-11-04 14:03:21
634
原创 opencv库C版和C++版的函数和变量命名差异分析
最初,opencv库是用C语言开发的,内存管理复杂,各种类型的强制转化(因为memorystorge不知道里面存的是什么东西),还有就是面向对象结构,各种函数名错综复杂,数据与操作关联不够密切,所以C++版本应运而生,C++大部分只是重新封装了C的内容,但是函数名不一样了,但是与之前又有一定的联系。首先说整体的命名变化:C++无论是变量还是函数名都没有了Cv/cv开头。其次说变量:C版本都
2016-10-27 21:55:58
1062
原创 探讨C++字符串截止符‘\0’
接触到编程,字符串是必不可少的了,现在就说说常见的字符串输出显示异常字符的问题:以下是一个从文本文件读取字符串的程序:#include#include#includeint main(){std::fstream fs("d://lys.txt");char ls[11];/*=(char*)calloc(sizeof(char),11);*///std::st
2016-10-11 10:36:45
1655
转载 C++内存控制
第一部分 C++内存分配//------------------------------------------------------------------------------------------------一。关于内存 1、内存分配方式 内存分配方式有三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整
2016-10-10 10:49:37
510
原创 关于OPENCV ROI的使用
最近在写一个多摄像头下的多目标跟踪系统,需要自己通过人体检测+人脸识别来确定初始跟踪目标,很显然,这里会有很多地方会用到ROI,我的思路是先用人体检测检测出人体部分,再对人体部分应用人脸检测,再进行人脸识别,确定身份之后再判断是否跟踪该目标,每一次检测出的区域都会用到ROI,这里需要说的是,这里有几个图像函数,cvCopy()、cvCopyImage()、cvCloneImage(),如果设置了R
2016-10-09 21:35:55
1141
1
原创 C++友元类使用之前置声明(定义变量)
今天项目使用到了友元类,于是便先试着搞个简单地使用例子#includeclass b;class a{private:int value;protected:void funprotected();public:friend b;a(int x);//b bclass;void funpublic();};a::a(int x)
2016-09-29 10:23:33
2847
1
转载 C++string到char*的转换
转自:http://blog.sina.com.cn/s/blog_786ce14d01014lpr.html今天在做一个视频跟踪的程序修改,用到了opencv的图像加载函数cvLoadImage(),该函数需要一个const char*类型的图片地址,而我只有一个string类型的地址变量,所以,这就需要转换一下,因为string是一个类,并且有一个默认的构造函数string(cha
2016-09-28 15:40:46
485
转载 11个强大的Visual Studio调试小技巧(转)
原文地址http://blog.jobbole.com/33865/?utm_source=rss&utm_medium=rss&utm_campaign=11%25e4%25b8%25aa%25e5%25bc%25ba%25e5%25a4%25a7%25e7%259a%2584visual-studio%25e8%25b0%2583%25e8%25af%2595%25e5%25b0%258f%2
2016-09-28 09:04:28
902
原创 关于STL容器中vector特定元素的删除问题
问题描述:给定一组整形数,使用vector容器存储,现在要求删掉其中值大于某个值的元素。即:初始数组为{8,6,4,2},要求删除其中大于5的元素。这里使用网上给出的一些方法(错的),主要参考这里http://zhidao.baidu.com/question/286951956.htmlvector price = { 8, 6, 4, 2 };vector::iterato
2016-09-27 15:39:53
3676
原创 vassitx使用技巧(用了就再也没法放弃)
1)shift+alt+r,选定内容改名,用得不多,但很实用(改过名的都知道) 可以批量改名2)Shift + Alt + F - 查找选定的内容,比VS2010自带的爽,不信你选定一个函数试试,而且它还有一个clone result功能,(不用不知道) 显示出所有结果的位置3)Alt + O - 在.h与.cpp文件中实现相互转换 这个主要就是声明与定义了,很方便
2016-09-27 09:43:54
2020
基于粒子滤波的目标跟踪技术研究(Research on Target Tracking based on Particle Filter)
2017-01-06
多目标跟踪vs+opencv
2016-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人