- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 harris corner detection 实现
关于harris corner的原理,参照 http://en.wikipedia.org/wiki/Corner_detection以下为自己的实现,并于opencv进行了比较//////////////////////////////////////////////////////////////////////// implement harris corner detectio
2014-04-15 09:58:29
1381
1
原创 快速排序的实现
快速排序是一种效率很高的排序算法了。其主要思想为:1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。下面为实现代码:template void quickSort(T* ptr,int left,int right){ if(left < right){
2014-01-22 19:41:56
499
原创 shell排序的实现
shell排序的基本思想为:将待排序的数组分成若干较小的序列,然后再每个序列上分别使用插入排序算法进行排序。将原数组分成若干个短序列的方法为(这儿方法不唯一,下面介绍一种常用的方法):比如要对N个数进行排序,第一趟排序时,取间隔为step = N/2;第二趟排序时,取间隔step = step/2;依次进行,直至step=1。下面举一例子:比如要对60, 17, 26, 93, 8, 40,
2014-01-22 18:13:42
641
原创 关于插入排序的几种实现
插入排序的思想是:当要确定第i个数据的位置时,我们从第0个位置开始,依次将每个数与第i个数作比较,直至遇见比第i个数大的数,将第i个数插入此处。如果未遇见,则证明第i个数已在正确位置上。依据上面的思想,不难有下面的实现(python):for x in range(1,len(a)) : f = False for y in range(x) : if a[x] < a[y] :
2014-01-22 15:37:26
571
原创 关于冒泡排序算法的几种实现
冒泡排序是一种很常见的排序方法,其基本思想为:对N个数排序,分N-1趟进行(当N-1个数的顺序确定后,最后一个也就确定了)。每一趟通过两两比较交换,确定一个数的适当位置。根据其思想,不难有以下实现方法:(1)第i趟将第i大的数放在相应位置: template void bubbleSort(T* ptr,int size) { for(int i=
2014-01-21 23:09:41
734
原创 emacs配置颜色主题
1.更改颜色主题首先安装emacs的辅助插件:sudo apt-get install emacs-goodies-el然后进入Emacs:Emacs 最新版本已经自带各种主题,只要敲入命令:color-theme-select 就会看到一大堆主题,选择一个Emacs就会切换过去。,当选中了自己喜欢的,记住名称,然后像我这样填入~
2013-08-20 21:51:37
1401
原创 C++中transform和for_each的实现
最近在看C++的标准库,对transform和for_each两个函数发生兴趣,于是自己尝试着写了下这两个函数的实现。C++的标准库中transform有两种形式,我打算拿较复杂的一个进行说明。
2013-08-20 21:50:23
1006
转载 c语言中调用Linux脚本
一、引言 对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系统最杰出的成就之一,它是七十年代UNIX早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果,一方面,它使操作系统在进程管理上付出了最小的代价,另一方面,又为程序员提供了一个简洁明了的多进程方法。与DOS和早期的Windows不同,Unix/Li
2013-08-12 16:57:49
1137
转载 函数指针和函数对象
篇一、函数指针函数指针:是指向函数的指针变量,在C编译时,每一个函数都有一个入口地址,那么这个指向这个函数的函数指针便指向这个地址。函数指针的用途是很大的,主要有两个作用:用作调用函数和做函数的参数。函数指针的声明方法:数据类型标志符 (指针变量名) (形参列表);一般函数的声明为: int func ( int x );而一个函数指针的声明方法为:int (*func) (int x);前面的那
2013-08-05 10:31:11
491
原创 C++中::与.的区别
(1)::是域作用符,是各种域性质的实体(比如类(不是对象)、名字空间等)调用其成员专用的。(如果有个局部变量与全局变量同名(假设都是int a;),默认调用的 a 是局部变量,如果要访问全局变量a,就要这么写“::a”。使用域作用符来加以区别;前面没写具体的域名,就是指默认域)(2).是成员作用符,是对象专用的。比如struct A{ int InnerPara;
2013-08-04 15:52:06
1107
原创 C++中的iterator adapters
C++标准库提供了几种预定义的特殊迭代器,迭代适配器。下面我们介绍常用的三种迭代适配器:插入迭代器,流迭代器,反向迭代器。 1.插入迭代器(insert iterator) 插入迭代器可以使迭代器进入插入模式,同时解决了copy算法进行复制时目标空间不够大的情况。 C++标准库中有三种插入迭代器:back_inserter(container),front_inserter
2013-08-04 14:55:25
930
1
转载 模板类中重载<<和>>操作符
转:模板类中重载>操作符模板类中操作符重载问题(">"重载)在模板类中输入流“>>”和输出流“>"的重载。一、将输出流">"重载的实现写在类中#include "stdafx.h"#include using namespace std; templateclass T> class Test { pu
2013-08-03 09:26:13
1277
原创 关于C++中const的一些总结
(一)const修饰参数。const只能修饰输入参数。1、如果输入参数是指针型的,用const修饰可以防止指针被意外修改。2、如果参数采用值传递的方式,无需const,因为函数自动产生临时变量复制该参数。3、非内部数据类型的参数,需要临时对象复制参数,而临时对象的构造,析构,复制较为费时,因此建议采用前加const的引用方式传递非内部数据类型。而内部数据类型无需引用传递。(二)
2013-08-02 15:05:36
480
转载 关于友元函数
类具有封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员,程序中的其他函数是无法访问私有成员的。非成员函数可以访问类中的公有成员,但是如果将数据成员都定义为公有的,这又破坏了隐藏的特性。另外,应该看到在某些情况下,特别是在对某些成员函数多次调用时,由于参数传递,类型检查和安全性检查等都需要时间开销,而影响程序的运行效率。 为了解决上述问题,提出一种使用友元的方案。友元
2013-08-02 09:23:28
746
原创 一些CV零碎
void normalize(const InputArray src, OutputArray dst, double alpha=1, double beta=0, int normType=NORM_L2, int rtype=-1, InputArray mask=noArray())normalize:CV中的归一化函数当用于归一化时,normType应
2013-05-14 09:27:46
868
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人