自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (14)
  • 收藏
  • 关注

原创 Qt中QAxObject读取Excel文件

读取Excel文件时,可以用Qt自带的QAxObeject,本文对QAxObect的使用做了简单的介绍。

2017-04-21 16:15:43 3019

原创 头文件相互引用的问题

两个类存在相互应用头文件的情况:例如:类A:class A{}类B:class B{}在文件前加入class 申明,用于超前引用。类文件A:#include “B.h”class B;class A{ A(void); ~A();}类文件B:#include "A.h"class A;class B{ B(void

2016-12-23 19:31:38 644

原创 设计模式实现——代理模式

代理模式简介代理模式就是自己不愿意做,把自己的工作委托给别人来做。就像快递公司不自己送货,把货物给区域代理一样。优点:1、可以使自身更加安全,只把部分权限交给代理。其他所有人想知道我都必须进过代理,用于控制权限访问。2、可以用于延时生成对象,把生成对象开销大的对象生成放缓,在初始化时只给一个null或者简单的拷贝,在使用时再具体生成。3、可以用于智能指针,在访问对象时可

2016-10-03 21:38:53 401

原创 设计模式实现——观察者模式

又称发布——订阅模式,主要用于类对象之间消息通知。当主要对象发生信息变更后,与之相关联的信息也应该变更显示。

2016-09-04 15:52:08 678

原创 设计模式实现——抽象工厂模式

抽象工厂模式简介抽象工厂分简单工厂、复杂工厂(其他blog看到的分法) 这是一种基于实现来划分的,其实就是一种模式。精髓部分就是通过继承、组合的方法来隐藏正真对象,将对象的实例化过程交给工厂来做。作用:作用一:抽象是用来创建对象,减少类对象个数,可以防止类过度膨胀。例如一个工厂可以生产N中产品,M个工厂就可以生产N*M种产品。如果每一种产品用一个类来设计,那么需要M*N个类

2016-09-03 18:11:08 435

原创 设计模式实现——创建者模式

创建者模式Builder模式是一种创建者模式,主要用于创建的对象分成很多很多部分,就像房子一样,创建房子,需要创建wall、door、window等对象。但是这些对象又不唯一。有点像与结构型组合模式很像的味道,恕我对组合模式还不是很明了的情况不再揭短了。个人觉得有几个实现意义:1、用于做流程步骤控制;将过程作为抽象类,整个过程分成的步骤为每一个step子类。2、用于创建一个整体有多个部分的对象。3、还可以做可能存在多种情况下只用其中一种的时候。

2016-09-03 10:48:41 329

原创 二叉树的遍历之——Morris遍历

二叉树遍历简介前面已经写过一篇关于二叉树的遍历,但看到一个更好的遍历方法:Morris遍历。二叉树的递归遍历:主要是通过函数调用栈从子树返回到父亲节点,非递归的方法是通过额外空间栈来保存子节点返回父亲节点。如果树的深度够高,递归可能造成函数栈溢出。而非递归的需要使用栈,有O(lgn)的空间消耗。Morris遍历是通过时间换空间的方法,时间复杂度为O(n*2),后序时间复杂度约为O(

2016-08-31 20:15:55 422 1

转载 Http 与 Https

HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议:   它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息,它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netsca

2016-08-18 19:15:26 654

原创 面试常见题型总结

1、heap 与stack 的差别 (1)申请方式不同  stack有系统分配、heap由程序员申请(malloc/ new) (2)申请后系统响应       stack:只要栈中剩余空间大于申请空间,系统就提供内存,否则报告异常。       heap:操作系统有一个空闲的地址记录链表,系统收到heap申请时,会遍历链表,找到最近的满足申请的空间并分配给程序,然后操作系统会将该

2016-08-03 17:11:07 739

转载 數據結構

请移步:http://blog.csdn.net/v_july_v/article/details/7382693Bitmap:http://blog.csdn.net/v_july_v/article/details/6685962关于数据库索引及其优化,更多可参见此文:http://www.cnblogs.com/pkuoliver/archive/2011/0

2016-07-27 10:45:12 389

转载 epoll详解

装载于:http://www.cnblogs.com/venow/archive/2012/11/30/2790031.html定义:  epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它会复用文件描述符集合来传递

2016-07-27 10:37:43 314

原创 一步一步学习Unix编程[3]——并发服务器介绍与实现

1、理论解释并发服务器:服务器能同时接受多个客服请求。即:服务器能同时服务多个客服,与客户端A链接的同时,还能链接客户端B。相比迭代服务器并发服务器更优。2、基础介绍#include pid_t fork(void)  创建一个子进程。该进程执行一次返回两次。 返回 值等于0 为子进程,返回值大于0为父进程,小于0 fork失败。其中大于0的值,是子进程的Id。fork出来

2016-07-16 19:20:33 553

原创 一步一步学习Unix编程[2]——迭代服务器

1、迭代服务器所谓迭代服务器就是处理完一个客服端请求后,接着再处理第二个客服端请求,如果没有请求服务器将阻塞在accept处,直到有请求传来。2、自定义头文件在编代码前,需要先介绍自定义的一个头文件:MyIncludding.h/* * MyIncluding.h * * Created on: Jul 11, 2016 * Author: ub

2016-07-16 17:17:07 418

原创 wait 与 waitpid

两个函数的原型: pid_t wait(int *statloc);pid_t waitpid(pid_t pid,int *statloc,int options);功能:当子进程终止时返回,主要用来处理已终止的子进程。当子进程处理完任务后,处于僵死状态,也就成为了僵死进程,父类可以通过上面两个函数捕获到,从而处理掉僵死进程,归还内存、CPU等资源。提问:如果父进

2016-07-15 22:10:48 802

原创 Makefile学习连接

主要学习了:http://blog.csdn.net/haoel/article/details/2887遇到的问题:使用eclipse IDE编译工程,出现 派生类中重写父类虚函数(父类的成员函数或者成员一样)被视为重定义错误。随后只能使用make来编译成功编译的Makefile文件objects = SimClientApp.o IOoperater.o SimCl

2016-07-15 21:43:13 316

原创 一步一步学习Unix编程[1]——TCP基本函数及原理

1、三次握手TCP/IP 客服端与服务器建立连接的过程被称为三次握手。三次握手过程:(1)服务器(以下简写S)处于监听状态,客服端 C(以下简写C)发送同步分节SYN J(以下简写SYN)给服务器;(2)S 接收到SYN J,然后给C发送SYN K,同时捎带SYN J的确认ACK J+1;(3)C接收到ACK J+1 与SYN K后,确认可以与服务器建立连接,并分配资源。同时给服务

2016-07-12 21:39:22 286

原创 C/C++中的玄机

1、&& 例如 a&&b先判定a是否为真,如果a为真,则判定b;如果a为假,则直接返回02、*(ptr++) 与 *ptr++ 相同,都是先取指针,再相加。++的优先级比*的优先级要高,()的优先级最高,但此处反常。3、 地址符强制类型转换  float m = 1.5f; cout << "addr:"<< &m <<endl; cout << "float Ad

2016-07-07 17:23:31 505

原创 opencv cvCaptureFromFile读取视频总返回NULL

调用opencv库函数读取不到cvCaptureFromFile视频文件。一、问题原因1、可以是读取的文件目录存在问题,找不到相应的视频文件,导致返回NULL;2、读取的视频文件存在问题,不是真正的视频文件;3、缺失解码

2016-06-23 16:21:43 4543 10

原创 opencv CvHistogram 求直方图的均值

利用opencv的直方图表示,求出直方图均值。需要对直方图做一些操作或者是利用模板直方图的方法,都可以参阅本文档

2016-06-19 20:39:04 4570 2

转载 RBG像素值读取方法

转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7557063 !!此篇是基于IplImage* (C接口或者说2.1之前版本的接口,新的Mat的访问方式请参考博文: 《访问Mat图像中每个像素的值》)IplImage是OpenCV中CxCore部分基础的数据结构,用来表示图像,其中Ipl是Intel Image Processi

2016-06-17 16:48:14 1310

原创 ffmpeg h264转avi

将h264转换到avi格式:ffmpeg -i input.264 -s 640x480 output.avi-s : 为重新设置分辨率-r  : 为帧率设置

2016-06-13 10:47:35 1918

原创 二叉树的遍历

二叉树的遍历:二叉树的遍历有递归与非递归之分,使用非递归的遍历在性能上和健壮性上都优于递归。通常能使用非递归的情况下,都不用递归。二叉树的遍历分为 先序、中序、后序遍历,分别实现了各种算法

2016-06-03 15:57:04 283

原创 二叉排序树——理解与实现

转载请注明出处:http://blog.csdn.net/t1234xy4/article/details/51570916 二叉树的基本操作: 创建:二叉树的创建就是插入一个节点 查找 深度 遍历 删除节点下面我们简单的来分析: 一、插入节点 有递归实现与非递归,个人建议用非递归。插入节点的数量很大,树的深度也很大的时候,使用递归可能导致函数调用的递归栈溢出。总的来说,非递归的健壮

2016-06-02 22:59:03 335

转载 压缩跟踪Compressive Tracking

本文转载:http://blog.csdn.net/zouxy09/article/details/8118360 下面是这个算法的工程网站:里面包含了上面这篇论文、Matlab和C++版本的代码,还有测试数据、demo等。后面我再学习学习里面的C++版本的代码,具体见博客更新。http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.

2016-05-31 19:59:09 429

转载 Camshift算法

CamShift算法,即"Continuously Apative Mean-Shift"算法,是一种运动跟踪算法。它是MeanShift算法的改进,称为连续自适应的MeanShift算法Camshift算法的过程由下面步骤组成:(1)确定初始目标及其区域;(2)计算出目标的色度(Hue)分量的直方图;(3)利用直方图计算输入图像的反向投影图(后面做进一步的解释

2016-05-31 15:46:02 855

转载 Hog特征、Haar特征

HOG:http://blog.csdn.net/abcjennifer/article/details/7365651(转载)HOG即histogram of oriented gradient, 是用于目标检测的特征描述子,该技术将图像局部出现的方向梯度次数进行计数,该方法和边缘方向直方图、scale-invariant feature transform类似,不同的是hog的计算基于

2016-05-31 11:27:44 4372

转载 SVM样本训练步骤

SVM样本训练步骤本文转载,本文转载!!!!!尊重原创,转载本文请说明出处:http://blog.csdn.net/xw20084898/article/details/213898851、引言近期在做飞形体目标识别的研究,需要做SVM训练来生成识别的分类器。从网上找了大量的参考文章,但是发现很多文章都讲的比较零散。鉴于此原因,本文对SVM训练过程做一个较为系统的总结,希

2016-05-31 10:06:05 4191

原创 视频跟踪学习连接 Tracking Link

CMT跟踪算法: 官方主页 http://www.gnebehay.com/cmt/ 比较好的学习连接: http://blog.csdn.net/roamer_nuptgczx/article/details/47953357 工作原理就直接copy过来了。详细的看官方说明:How does it work? The main idea behind CMT is to break

2016-05-30 17:17:21 1059

转载 ffmpeg打开视频文件步骤

目的:解码h264文件,转存avi格式或者yuv格式,方便opencv处理。 方法:使用ffmpeg库来解码文件,转存 1、理论探究 FFmpeg主要由一下几个部分组成: libavcodec:一个包含了所有FFmpeg音视频编解码器的库。 为了保证最优性能和高可复用性,大多数编解码器从头开发的。 libavformat:一个包含了所有的普通音视格式的解析器和 产生器的库

2016-05-28 14:32:24 6738

原创 vs2010中调用ffmpeg库

ffmpeg库的接口都是c函数,其头文件也没有extern “C”的声明,所以在cpp文件里调用ffmpeg函数要注意。 在头文件中应该加上:#ifdef __cplusplusextern "C" {#endif//#include <xxxx>#ifdef __cplusplus} // endof extern "C"#endif或者在头文件中使用:#define inline

2016-05-28 14:10:46 1576

原创 命名管道使用

命名管道命名管道相对于管道(pipe)有许多优点:1、命令管道可以用于非父子关系的进程的通信;而pipe只能用于父进程创建子进程,然后进行通信,多用于shell命令。2、命令管道是以文件的形式保存在文件中,因此可以提供给多个知道进程名字的进程通信。3、命令管道又叫FIFO 使用mkfifo()创建。

2016-05-04 18:32:59 450

转载 特征放大算法学习

http://www.hahack.com/codes/eulerian-video-magnification/#源码学习地址:https://github.com/wzpan/QtEVM

2016-04-26 14:00:18 615

原创 视频格式转换方法之264、avi、YUV420P

ffmpge(下载)可以非常快速的实现h264视频的分离和混流,并且是命令行的操作,也没有什么参数需要设置,非常适合批量转换

2016-04-26 13:55:53 6184

原创 轨迹跟踪——二维轨迹跟踪

在读研期间,由于导师与水环研究生水生物有项目交叉,我主要研究视频跟踪技术。用来提取鱼类的轨迹以及鱼类的微动作。其中鱼类的轨迹提取我已做了两部分工作,二维视频跟踪,提取鱼类的轨迹;另一部分工作是重建三维鱼类游动轨迹。鱼类微特征提取还没有动工(惭愧)。----------二维的视频跟踪在做这项工作之前我们花费了很大的力气去获取实验数据。购买了三个汉邦高科的摄像头,水箱,摄像头支架等。搭建好实验装置。

2016-04-25 11:30:03 11241 2

原创 探讨虚函数与纯虚函数的区别

《C++ Primer》书上学习得到的基础: 纯虚函数: 1、纯虚函数只声明,没有定义。书写=0说明为纯虚函数。 2、含有纯虚函数的内,称为抽象基类,所谓抽象基类只负责定义接口,后续的其他类可以覆盖该接口,我们不能创建抽象基类的实例。 3、能够被覆盖。普通虚函数: 1、声明为普通函数前加virtual,不仅要申明,而且必须定义。 2、能够被覆盖。(

2016-04-19 15:55:15 401

原创 二维运动物体坐标提取软件

通过两个星期的努力,终于初步完成了这个小软件。 跟踪提取效果如下: 每一帧的坐标记录文件放在子文件夹下: 绿色通道中圆圈所在的位置为鱼的位置,如果不一致,需要调节Dilate和Erode的值使圆圈跟踪到鱼的准确位置。Image Corrdinate显示了每一秒鱼在图片坐标的位置,Real Coordinate中显示每一秒显示鱼在真实水箱中的坐标。同时在文件夹下中ImagePoi

2016-04-16 16:14:13 1263 5

原创 MFC 常用系统函数

1、获取当前路径: char path[MAX_PATH]; GetCurrentDirectoryA(MAX_PATH,path);2、获取系统时间 需要添加头文件:#include <Windows.h> SYSTEMTIME sysTime; GetLocalTime(&sysTime); printf("%4d%02d%02d%02d%02d",sysT

2016-04-11 13:58:26 1316

原创 Cstring 与 char*的转换,TCHAR 与 char 转换

使用unicode的会存在宽字节和单字节之间的转换: CString转char * 1、使用WideCharToMultiByte函数,其中mWcount为CString类型。char* _wParam = (char*) malloc( sizeof(char) * 10); // = (LPSTR)(LPCTSTR)m_CalibrationData.mWcount;

2016-04-11 11:06:21 395

原创 MFC+opencv显示图片

这个也是根据别人的博客完成了相关显示的工作,整理一下也帮助大家学习。 新版本的opencv取消了CvvImage,然而就不支持在MFC中显示了,可以直接把CvvImage这个类直接拷贝到项目中来,可以直接编译使用,非常方便。 具体过程如下: 1、同样需要添加picture control的控件用于显示视频流传来的图片。2、拷贝CvvImage类到项目中来 CvvImage.h:#ifndef

2016-04-06 14:00:35 896

原创 MFC+OpenGL显示视频流图片

由于想做一个应用软件,把目前自己的算法应用出去,给给为研究者提供一丢丢便利,需要在MFC中显示视频流文件。我尝试了两种方法:opencv+MFC;openGL+MFC;这两种方法都可行。但是在使用opencv+MFC时,以为是设置双缓冲处有点问题,导致视频流闪烁严重。(实际是读取视频的问题,修改后应该可行,后面改用opengl做了,也出现了这样的问题,后来修改好了)。1、首先需要加载一个Pictur

2016-04-06 13:47:41 3278 1

设计模式实现——代理模式

http://blog.csdn.net/t1234xy4/article/details/52729467

2016-10-03

设计模式实现——观察者模式

对应的博客链接:http://blog.csdn.net/t1234xy4/article/details/52432559#

2016-09-04

设计模式实现——单例模式

对应博客讲解:http://blog.csdn.net/t1234xy4/article/details/52419546

2016-09-03

设计模式实现——创建者模式

写博客的代码资源:http://blog.csdn.net/t1234xy4/article/details/52421883

2016-09-03

二叉树的Morris遍历

关于Morris遍历的博客:http://blog.csdn.net/t1234xy4/article/details/52388179

2016-09-03

设计模式实现——抽象工厂模式结构实现

写博客上传的代码:blog http://blog.csdn.net/t1234xy4/article/details/52424048

2016-09-03

opencv颜色直方图相关处理操作以及理解

具体描述转blog: http://blog.csdn.net/t1234xy4/article/details/51713895

2016-06-20

二叉树的遍历——递归以及非递归实现

vs2010下运行编写,使用了STL栈,实现了基本的插入、删除、计算深度、查找,主要是遍历,包括递归遍历,以及非递归的前序中序后序遍历,每个函数都有测试用例,如果存在错误,请在给我留言。

2016-06-03

二叉排序树实现

VC6.0环境下,使用C++/C编写,实现了二叉排序树的基本功能。

2016-06-03

Struck 视频跟踪算法C++源码(包含测试序列)

VS2010平台 使用opencv2.4.10 和 eigen-2.0 ,下载的时候请注意使用相应版本的库文件

2016-05-30

算法分析与设计(第2版) 王晓东

本书讲解详细,代码基本上可以直接运行,适合有一定C语言基础的人学习。

2014-02-20

Visual C++ 6.0(支持win7)

本软件支持win7系统,方便实用,精简,推荐使用。

2014-02-20

C语言经典题目

内涵题目30多道,代码齐全,适合广大初学者,希望能够帮助到各位初学代码的程序员们。

2014-02-20

C语言编程题目

有很多提升算法的题目,值得编写,提高自身算法。

2013-12-19

空空如也

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

TA关注的人

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