自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (4)
  • 收藏
  • 关注

原创 快速排序

快速排序采用分治的思想,将序列分为两部分进行排序。在首次取基准值之后产生了一个坑,所以要找一个比基准值小的值来填充这个坑,从右边开始寻找,找到之后填充了这个坑,又会在右边产生一个坑,从左边在开始寻找比基准值大的数来填充这个坑,直到左右的指针相遇,在相遇点将基准值准确的填入。这样就经过了第一趟排序。快速排序每次将待排序数组分为两个部分,在理想状况下,每一次都将待排序数组划分成等长两个部分

2014-05-15 21:43:42 777

原创 查找字符串

在一个主串中查找相应的子串,如

2014-05-13 17:08:34 595

原创 实现字符串中单词顺序的逆置

比如 i love you 变换为you love i

2014-05-09 21:01:59 1289

原创 字符串循环移位

实现字符串的循环移位,如abcdefg左移两位为cdefgab;#include "string"#include "iostream"using namespace std;void Reversebuffer(char buffer[],int start, int end ){ char temp; while(start<end) { temp=buffer[st

2014-05-09 20:57:00 817

转载 C++拷贝构造函数与赋值函数

http://blog.chinaunix.net/uid-25808509-id-354211.html

2014-04-29 10:32:38 466

转载 C++拷贝构造函数(深拷贝,浅拷贝)

转载地址:http://www.cnblogs.com/BlueTzar/articles/1223313.html

2014-04-29 10:09:58 522

原创 字符串逆反

字符串的逆反,

2014-04-29 10:04:37 1342

原创 字符数组的操作

1、实现字符串数组的逆序,使用非递归的

2014-04-27 15:33:11 580

转载 字符数组与字符串string详解

字符串可以用字符数组与字符串变量两种方式来存储,效果类似。一、用字符数组来存储字符串: char st1[100],st2[100] ; //字符数组说明cin>>st1>>st2;long a,b;输入:hello, world则st1={‘h’,’e’,’l’,’l’,’o’,’,’,’\0’}st2={‘w’,’o’,’r’,’l’,’d’,’\0}字

2014-04-27 15:18:45 715

原创 Static用法总结

http://blog.csdn.net/hackbuteer1/article/details/7487694Static可以应用于普通的变量和函数,也可以应用于类中。变量和函数的static用法静态全局变量有以下特点: 该变量在全局数据区分配内存; 未经初始化的静态全局变量会被程序自动初始化为0(自动变量的值是随机的,除非

2014-04-23 14:37:58 569

转载 类的sizeof

转载地址http://blog.csdn.net/valerie_7/article/details/67576641、空类的sizeof是1。空类是指没有成员的类,类中的函数不占空间,除非是虚函数。如: class A        {             public:                      A(){}                     ~

2014-04-21 16:13:21 518

原创 C++基类与派生类的函数调用情况

在定义了基类的指针与派生类的对象,或者是派生类指针与基类的对象。在函数调用的时候,如果该函数在基类中被定义为虚函数,那么在调用的时候看该指针(包括基类指针和派生类指针)所指向的对象,如果是派生类的对象就调用派生类中重写的函数,如果是基类的对象就调用基类中的函数。如果该函数为非虚函数,那么看该指针的类型,如果是基类的指针就调用基类中的函数,如果是派生类的指针就调用派生类中的函数。

2014-04-17 11:26:31 3268 1

原创 C++的多态特性

多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。C++多态性是通过虚函数来实现的,虚函数允许子类重新定义成员函数,而子类重新定义父类的做法称为覆盖(override),或者称为重写。当子类重新定义了父

2014-04-17 10:36:33 1003

原创 单链表的创建、删除与打印

单链表的创建包括两种方法,头插法和尾插法。其中头插法是将每个新添加的结点作为第一个结点,紧紧跟在头结点后面。尾插法是将每个新的结点作为最后一个结点,要注意最后声明最后一个结点的指针为NULL。

2014-04-16 21:34:28 513

转载 malloc()和free()的用法与详解

 一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。关于分配失败的原因,应该有多种,比如说空间不足就是一种。void free(void *FirstByte):该

2014-04-13 15:39:15 1236

原创 数据结构---二叉树总结

 二叉树(1)二叉树是n(n>=0)个结点的有限集合,该集合或为空集,或者由一个根结点和两棵互不相交的分别成为根结点的左子树和右子树的二叉树组成。深度——二叉树的层数,就是深度。性质:1、在二叉树的i层最多有2i-1个结点。2、一棵深度为k的树最多有2k-1结点。二叉树叶子结点与度为2的结点n0=n2+1.证明性质3:

2014-04-13 15:01:49 935

原创 进程与线程,多进程与多线程

本文是看了多篇文章之后自己的总结进程与线程:进程是系统资源分配的最小单位,线程是程序执行的最小单位。进程有自己独立的地址空间,线程没有独立的地址空间。同一进程内的线程共享进程的地址空间。总结进程与线程的区别:a.地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。b.通信:进程间通信IPC,线程

2014-04-12 14:24:50 1000

原创 设计测试用例---登陆界面

设计测试用例:测试一个登陆界面:(有时候需要分清楚是B/S还是C/S)预置条件:如果是B需要装有相应的浏览器,打开并输入相应的网址;如果是C需要打开相应的应用软件(用例入口)测试描述:该测试为了完成什么系统登录用户名存在、密码正确的情况下,进入系统页面信息包含:页面背景显示用户名和密码录入接口,输入数据后的登入系统接口http://wen

2014-04-11 22:14:32 967

原创 排序算法---希尔排序

希尔排序直接插入排序的时间复杂度在元素有序或者是元素数量少的时候是比较有效的,希尔排序为了提高算法的效率,所以将原始的元素进行分组使每个分组的元素个数较少,然后在这些分组中进行直接插入排序,当整个序列基本有序的时候再接着进行一次直接插入排序。基本思想:假设有n个数据元素先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各

2014-04-03 21:16:27 804

原创 排序算法---直接插入算法

直接插入算法直接插入排序的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增1的有序表。假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n]。从i=2起直至i=n为止,依次将R[i]插入当前的有序区R[1..i-1]中,生成含n个记录的有序区。例如:假设待排序元素为49,38,65,97,76,13,27,49

2014-04-03 20:48:44 670

原创 概率系列问题(二)

1、某国家非常重男轻女,若按一户人家生一个女孩,便再要一个,直到生下的是男孩位置,假设生女孩和男孩的概率相同,请问平均每户人家有()个女孩。A.0.5     B. 2/3      C.1       解:C每户一个孩子的概率是1/2,女孩的概率是0;每户两个孩子概率是1/(2^2),一个女孩;每户有三个孩子概率是1/(2^3),两个是

2014-04-02 17:22:22 870

原创 概率系列问题(一)

1、生日悖论一个房间里有23个人,这23个人里有两个生日相同的人的几率有多大呢?不计特殊的年月,一年有365天。A 6.3%  B  12.6%      C 50.7%方法一: 先计算房间里所有人的生日都不相同的概率,那么第一个人的生日是365选365第二个人的生日是365选364第三个人的生日是365选363

2014-04-02 17:13:52 908

原创 查找的基本概念和简单方法

查找:在一些(有序的/无序的)数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程叫做查找。也就是根据给定的某个值,在查找表中确定一个关键字等于给定值的记录或数据元素。查找表:是由同一类型的数据元素构成的集合。关键字:是数据元素中某个数据项的值。主关键字:该关键字可以唯一的标识一条记录。次关键字:可以识别多个数据元素的关键字。静态查找:只作

2014-04-02 11:02:44 900

原创 最小生成树算法(Prime、Kruskal)和最短路径算法(Dijkstra、Floyd)

最小生成树算法(Prime、Kruskal)和最短路径算法(Dijkstra、Floyd)区别:最小生成树:整个拓扑图的所有路径之和最小,但不能保证任意两点之间的路径最小。在通信网络设计的时候能够保证最小成本。构造最小生成树一般使用贪心策略,有prime算法和kruskal算法最短路径:对于拓扑图来说源点和目的点之间经过的边上的权值之和最少的路径。Dij

2014-03-28 15:34:27 2536

原创 #define 与 typedef详解

1、#define#define 是宏命令,在编译前,由预处理器做替代,如同文本编辑的替代命令,把程序中的所有遇到的词,全部替代。#define PINT int*  就是把所有的词 PINT 替换成 int * ,替换完毕再编译。2、 typedef作为类型定义关键字,用于在原有数据类型(包括基本类型、构造类型和指针等)的基础上,由用户自定义新的类型名称。在编程中使用type

2014-01-04 15:36:52 673

原创 指向运算符与成员运算符的区别

成员运算符.与指向运算符->的区别1、当使用成员运算符的时候,定义普通的变量,同样在C++中就是定义类的普通对象,然后就可以用成员运算符访问变量或者对象的数据成员和成员函数。   struct   Student       {       int   a;       }stu1;//stu1是一个变量  使用时候可以直接进行访问 stu1.a;使用的

2014-01-04 15:26:46 4583

原创 Opencv窗口显示图像的时候设置字体

 初始化字体CvFont font;cvInitFont( &font, CV_FONT_VECTOR0,1, 1, 0, 1, 8);//添加文字到图像中cvPutText( Image, "HELLO!", cvPoint(20, 20), &font,CV_RGB(255,255,255));参数说明:void cv

2013-12-24 14:51:26 2522

转载 Dark Channel Prior的Matlab代码

验证 Single Image Haze Removal Using Dark Channel Prior先验的MATLAB代码 注:代码内容引自zixu1986 (Euro) 北邮人论坛这个先验是:没有haze干扰自然景像中local patches(除了蓝天)总有一些像素的某个通道值非常低。引起的原因是 1)局部阴影 2)很多彩色在rgb3个

2013-10-21 10:30:41 2023

转载 为什么添加using namespace std

那是命名空间,你所用到的很多函数或者类都是被放到命名空间里面的,命名空间是防止名字重复而使用的,比如STL有个类叫string,而你也设计一个类叫string,那么编译器编译的时候就搞不清楚到底是那个string,所以用一个命名空间就比较方便了。具体是这么回事的,比如有两个班级,A班和B班,两个班各有一个叫张三的人,而两个班的同学相互之间都是非常熟悉的。那么他们聊天的时候说张三,那其他人肯定会问,

2013-10-14 16:26:16 804

转载 高斯函数在图像处理中的应用

高斯(核)函数简介1函数的基本概念所谓径向基函数 (Radial Basis Function 简称 RBF), 就是某种沿径向对称的标量函数。 通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数 , 可记作 k(||x-xc||), 其作用往往是局部的 , 即当x远离xc时函数取值很小。最常用的径向基函数是高斯核函数 ,形式为 k(||x-xc||)=exp{- |

2013-09-18 15:01:52 3541

转载 matlab中矩阵元素的比较

matlab中的最大值和最小值( matlab中的的最大值和最小值MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min,两个函数的调用格式和操作过程类似。1.求向量的最大值和最小值求一个向量X的最大值的函数有两种调用格式,分别是:(1) y=max(X):返回向量X的最大值存入y,如果X中包含

2013-09-16 15:17:06 13083

转载 matlab中图像的处理

1.图像反转MATLAB 程序实现如下:I=imread('xian.bmp');J=double(I);J=-J+(256-1); %图像反转线性变换H=uint8(J);subplot(1,2,1),imshow(I);subplot(1,2,2),imshow(H);2.灰度线性变换MATLAB 程序实现如下:I

2013-09-02 19:37:55 1464

原创 Visibility in Bad Weather from a Single Image---2008CVPR ,Tan

作者基于两点:1.      增强之后的图像也就是清晰的图像比有雾的图像对比度高。2.      Airlight的变化主要依赖于距离d,所以airlight趋于平滑。基于该两点建立马科夫模型的代价方程。 该算法的主要步骤是:1、  首先估计atmosphericlight也就是                             。2、  然后从 中获

2013-09-02 14:52:57 4456 2

转载 C/C++中的static关键字详解

静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。    静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。用法1:函数内部声明的static变量,可作为对象间的一种通信机制    如果一局部变量被声明为static,那么将只有唯一的一个静态分配的对象,它被用于在该函数的所有调用中表示这个变量。这个对象将只在

2013-08-30 11:14:25 549

转载 C/C++中的extern关键字详解

1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。      也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而

2013-08-30 11:11:01 483

原创 Dark Channel Prior 基于暗原色通道理论的去雾方法

参考论文Single Image Haze Removal Using Dark Channel Prior---Kaiming He       暗原色先验理论(dark-channel prior)是 Kaiming He 等人发现的,并提出了基于暗原色先验的单幅图像去雾方法。在自然图像已被研究了几十年的今天,发现全新的图像本质特性是视觉领域的重大突破。该项成果发表在 2009 年IEEE

2013-07-29 16:20:02 5989 1

原创 Fast Visibility Restoration from a Single Color or Gray Level Image

2009年Tarel提出的去雾算法,该算法最重要的特点就是快速。下面是在本人看过论文之后的简单总结。

2013-07-24 17:15:53 2820

转载 Opencv矩阵操作函数大全---分类整理

原文地址:【转载】OpenCv矩阵操作作者:键盘上跳舞OpenCv矩阵操作有很多函数有mask,代表掩码,如果某位mask是0,那么对应的src的那一位就不计算,mask要和矩阵/ROI/的大小相等大多数函数支持ROI,如果图像ROI被设置,那么只处理ROI部分少部分函数支持COI,如果COI设置,只处理感兴趣的通道矩阵逻辑运算void cvAnd(

2013-07-10 21:22:15 1349

原创 图像数据类型的转换 matlab opencv

最近在将一个matlab的程序导成C+opencv。在运算过程中为了精度,通常在matlab中会将图像的数据类型转换为double,而在opencv中我们通常用的数据类型都是IPL_DEPTH_8U,为了跟matlab中相统一也就是为了精度的,在opencv中发现同样也存在精度的转换函数。现总结如下:Matlab中的图像数据类型转换 MATLAB中读入图像的数据类型是uint8,而在矩阵中

2013-07-10 21:09:01 2418

转载 opencv---cvReSize的使用

图像大小变换void cvResize( const CvArr* src, CvArr* dst, int interpolation=CV_INTER_LINEAR );src输入图像.dst输出图像.interpolation插值方法:CV_INTER_NN - 最近邻插值,CV_INTER_LINEAR - 双线性插值 (缺省使用)CV_INTER_AREA - 使用象素关系重

2013-06-06 16:17:08 1234

Colortransfer

论文及matlab代码 实现两幅图像的颜色转化,原图像参考目标图像的颜色。 matlab代码可以完整运行,并且包含了颜色空间转换的代码,这里仅仅采用rgb->lab的颜色空间转换。

2014-03-28

color transfer

matlab版本的颜色空间的转换,包含了各种所需要的转换方式。调用的时候只需要写output=colorspace(‘rgb->lab’,input);

2013-09-18

Color Transfer Based on Normalized Cumulative Hue Histograms

Color Transfer Based on Normalized Cumulative Hue Histograms论文。 相关的程序可以再该论坛中找到。

2013-03-26

人脸识别程序

基于opencv的完整的人脸识别程序,在VC下保证可以运行。并且同时实现了虹膜识别。

2013-03-26

空空如也

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

TA关注的人

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