- 博客(61)
- 资源 (7)
- 收藏
- 关注
转载 标准c++中string类函数介绍
标准c++中string类函数介绍 注意不是CString之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C
2015-05-25 15:30:21 2872 1
转载 c++对txt文件的读取和写入
#include #include #include using namespace std;int main(){char buffer[256];ifstream myfile ("c://a.txt");ofstream outfile("c://b.txt");if(!myfile){ cout << "Unable to open myfile";
2015-05-25 13:43:58 1276
原创 图像配准
1、定义维基百科上的定义:图像配准与相关是图像处理研究领域中的一个典型问题和技术难点,其目的在于比较或融合针对同一对象在不同条件下获取的图像,例如图像会来自不同的采集设备,取自不同的时间,不同的拍摄视角等等,有时也需要用到针对不同对象的图像配准问题。具体地说,对于一组图像数据集中的两幅图像,通过寻找一种空间变换把一幅图像映射到另一幅图像,使得两图中对应于空间同一位置的点一一对应起来,从而达到信
2015-05-06 14:38:25 10090 2
转载 机器学习(1)-从最大似然到EM算法浅解
从最大似然到EM算法浅解zouxy09@qq.comhttp://blog.csdn.net/zouxy09 机器学习十大算法之一:EM算法。能评得上十大之一,让人听起来觉得挺NB的。什么是NB啊,我们一般说某个人很NB,是因为他能解决一些别人解决不了的问题。神为什么是神,因为神能做很多人做不了的事。那么EM算法能解决什么问题呢?或者说EM算法是因为什
2015-04-10 16:43:58 1077
转载 (转)设计模式(9):观察者模式
定义:定义对象间一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动跟新自己。类型:行为类模式类图: 在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。比如,我们要设计一个右键菜单的功能,只要在软件的有效区域内点击鼠标右键
2015-04-05 15:33:50 727
转载 (转)设计模式(8):中介者模式
定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类型:行为类模式类图:中介者模式的结构 中介者模式又称为调停者模式,从类图中看,共分为3部分: 抽象中介者:定义好同事类对象到中介者对象的接口,用于各个同事类之间的通信。一般包括一个或几个抽象的事件方法,并
2015-04-03 11:17:24 654
转载 (转)设计模式(7):模板方法模式
定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。类型:行为类模式类图: 事实上,模版方法是编程中一个经常用到的模式。先来看一个例子,某日,程序员A拿到一个任务:给定一个整数数组,把数组中的数由小到大排序,然后把排序之后的结果打印出来。经过分析之后,这个任务大体上可分为两部分,排序和
2015-04-02 19:03:13 629
转载 (转)创建类模式总结篇
创建类模式主要关注对象的创建过程,将对象的创建过程进行封装,使客户端可以直接得到对象,而不用去关心如何创建对象。创建类模式有5种,分别是:单例模式:用于得到内存中的唯一对象。工厂方法模式:用于创建复杂对象。抽象工厂模式:用于创建一组相关或相互依赖的复杂对象。建造者模式:用于创建模块化的更加复杂的对象。原型模式:用于得到一个对象的拷贝。为什么需要创建性模式 首先
2015-04-02 09:57:41 539
转载 (转)设计模式(6):原型模式
定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类型:创建类模式类图:原型模式主要用于对象的拷贝,拷贝又分浅拷贝和深拷贝两种。浅拷贝:就是给对象中的每个成员变量进行复制,就是把A1类中的变量直接赋给A2类中变量,属于值传递,但是涉及到有new之类内存分配的地方,他们却是共享内存的。深拷贝:就是不仅使用值传递,而是要每个变量
2015-04-01 15:43:29 579
转载 (转)设计模式(5):建造者模式
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。类型:创建类模式类图:四个要素产品类:一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,一般会有比较多的代码量。在本类图中,产品类是一个具体的类,而非抽象类。实际编程中,产品类可以是由一个抽象类与它的不同实现组成,也可以是由多个抽象类与他们的实现组成。抽象建造者:引入
2015-03-31 14:46:01 1194
转载 (转)设计模式(4):抽象工厂模式
定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。类型:创建类模式类图:抽象工厂模式与工厂方法模式的区别 抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结
2015-03-30 10:40:14 535
转载 (转)设计模式(3):工厂方法模式
定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。类型:创建类模式类图:工厂方法模式代码[java] view plaincopyinterface IProduct { public void productMethod(); } cl
2015-03-15 22:45:41 568
原创 设计模式(2)简单工厂模式
定义:简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。类型:创建类模式类图:工厂角色(Creator):这是简单工厂模式的核心,由它负责创建所有的类的内部逻辑。当然工厂类必须能够被
2015-03-14 15:41:36 782 1
转载 (转)设计模式(1):单例模式
定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。类型:创建类模式类图:类图知识点:1.类图分为三部分,依次是类名、属性、方法2.以>结尾的为注释信息3.修饰符+代表public,-代表private,#代表protected,什么都没有代表包可见。4.带下划线的属性或方法代表是静态的。5.对类图中对象
2015-03-12 22:40:34 609
转载 (转)设计模式六大原则(6):开闭原则
定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。 开闭原则是面
2015-03-11 15:09:56 539
转载 (转)设计模式六大原则(5):迪米特法则
定义:一个对象应该对其他对象保持最少的了解。问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。解决方案:尽量降低类与类之间的耦合。 自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对象编程,只有使各个模块之间的耦合尽量的低,才能提高代码的复用率。低耦合的优点不言而喻,但是怎么
2015-03-11 14:58:13 615
转载 (转)设计模式六大原则(4):接口隔离原则
定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则。举例来说明接口隔离原则:
2015-03-10 14:42:30 694
转载 (转)设计模式六大原则(3):依赖倒置原则
定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接
2015-03-10 14:07:51 601
转载 (转)设计模式六大原则(2):里氏替换原则
肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子
2015-03-09 17:19:18 576
转载 (转)设计模式六大原则(1):单一职责原则
定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T
2015-03-09 17:17:08 992 1
转载 (转)设计模式中类的关系
在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。1. 依赖(Dependence) 依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直
2015-03-09 17:06:47 624
原创 模式识别-经典聚类方法
一、基于试探的聚类搜索算法(类别数由少到多)1、按最邻近规则的简单试探法基本思想:假设有N个样本{X1,X2...Xn},要求按距离阈值T分类到聚类中心{Z1,Z2,Z3…}步骤:step1:将第一个样本作为第一类的中心,Z1=X1.step2:将剩下的样本计算||Xi-Z1 ||,若大于阈值T,则Xi作为新的一类的中心Z2.step3:将剩余样本分别计算||Xi-Z1
2015-01-15 22:16:10 7664
原创 图像显著性论文(六)—Saliency Filters Contrast Based Filtering for Salient Region Detection
看了这么多篇显著性CVPR经典的显著性论文,真的是受益匪浅,每看一篇论文都觉得这方法实在是太棒了,都不知道怎么改善了,但是下一篇还是能用其他方法得到更好的效果,整个看论文的过程,也让我对图像显著性的发展有了一定的了解,再看多几篇自己也尝试写写这方面的论文,当然不要求能跟大神一样发个CVPR这类的会议,慢慢来,慢慢积累,每天有所进步就足够了,今天要介绍的这篇文章是2012年的文章,作者实验得出的效果比HC/RC的效果还要好,实际运行出来也可以看出效果很好,而且运行时间很快,想了解详情,那就跟我一起看看这篇论文
2014-10-30 14:48:21 11140 2
原创 图像显著性论文(五)——Global Contrast based Salient Region Detection
图像显著性论文(五)——Global Contrast based Salient Region Detection
2014-10-22 21:18:15 7388
原创 图像显著性论文(四)—Context-Aware Saliency Detection
图像显著性论文(四)—Context-Aware Saliency Detection
2014-10-16 21:13:56 11971 1
原创 图像显著性论文(三)—Frequency-tuned Salient Region Detection
又一篇图像显著性论文介绍,Frequency-tuned Salient Region Detection是一篇简单又实用的论文,特别是论文中将该方法用到了图像分割中去,分割效果很好。
2014-10-10 22:35:22 19995 7
原创 图像显著性论文(二)—Saliency Detection: A Spectral Residual Approach
《Saliency Detection: A Spectral Residual Approach》是上交高材生侯晓迪在07年的CVPR上发表的一篇论文,这篇文章提出了一个图像视觉显著性的简单计算模型,这个模型和Irri提出的模型是两个截然不同的模型,Irri模型对于图像视觉显著性主要关注整幅图片突出的部分,通过各种特征的融合提取显著性图,而Hou的这个模型一上来关注的点就不在一张图片里突出的地方,而是背景,观察是否大部分图片的背景在某个空间上都满足什么变化,最后剔除背景,自然就只剩下图片突出的部分了,这篇
2014-09-24 14:05:57 20251 13
原创 图像显著性论文(一)—A Model of saliency Based Visual Attention for Rapid Scene Analysis
这篇文章是图像显著性领域最具代表性的文章,是在1998年Itti等人提出来的,到目前为止引用的次数超过了5000,是多么可怕的数字,在它的基础上发展起来的有关图像显著性论文更是数不胜数,论文的提出主要是受到灵长类动物早期视觉系统的神经结构和行为所启发而产生了视觉注意系统。灵长类动物具有很强的实时处理复杂场景的能力,视觉信息进行深入的处理之前,对所收集到的感觉信息进行选择,这些选择可能减少场景理解的复杂性,这个选择过程在一个空间有限的视野区域即所谓的注意焦点(focus of attention, FOA)中
2014-09-21 21:30:36 16297 5
原创 学习OpenCV范例(二十四)—ViBe前景检测(二)
最近导师没给什么项目做,所以有那么一点点小时间,于是就研究起了前景检测,既然前景检测有很多种算法,那干脆就把这些模型都学起来吧,以后用到前景检测时至少还有那么几种方法可以选择,上次介绍的是GMM模型,其实GMM模型本身就是一个很不错的模型,现在也很多人在研究,并且做改进,主要是OpenCV有函数调用,用起来非常方便,当我们都在兴高采烈的讨论GMM各种好的时候,B哥不爽了,他说老子是搞前景检测的,怎
2014-06-11 21:10:06 13033 11
原创 学习OpenCV范例(二十三)—GMM前景检测(一)
前一篇博客中有谈论到混合高斯模型GMM,但是只是在上面的一个小应用,可能没有很彻底的分析,大部分读者看起来有点吃力,那么在这篇微博中就给大家分析一下GMM在前景检测的原理以及在OpenCV中的运用,当然长篇大论的原理我还是不全部写出来的,依旧会贴出其他高手的博客,他们写的个人觉得已经够详细了,再总结已经没什么意思了,也总结不出太多的新意,在这里也是作为记录,谈谈自己的小感悟以及运行的结果和函数的使
2014-06-08 20:10:05 19399 1
原创 学习OpenCV范例(二十二)—GrabCut图像分割
由于最近都有很多课,所以就好久没有写博客,今天抽空写一篇,不能落下太多了,要坚持有时间就写写博客,为自己留下一些回忆,也可以到后期忘记的时候及时复习,不积跬步,无以至千里。不积小流,无以成江海。脚踏实地,打好基础,那才是王道,感觉说了一大堆废话,哈哈,现在正式进入主题,今天要讲的内容就是GrabCut图像分割啦,关于图像分割的方法五花八门,非常多,大家都可以从网上找到,包括GrabCut也是,本人
2014-06-07 21:18:42 6630
原创 学习OpenCV范例(二十一)——Keypoints+Knn+findHomography进行目标定位
本范例的代码主要都是 学习OpenCV——通过KeyPoints进行目标定位这篇博客提供的,然后在它的基础上稍加修改,检测keypoints点的检测器是SURF,获取描述子也是用到SURF来描述,而用到的匹配器是FlannBased,匹配的方式是Knn方式,最后通过findHomography寻找单映射矩阵,perspectiveTransform获得最终的目标,在这个过程中还通过单映射矩阵来进一
2014-04-03 16:52:01 26834 3
原创 学习OpenCV范例(二十)——角点检测算法
本次范例讲的都是检测角点的算法,在这里我们会讲到,harris角点检测,Shi-Tomasi角点检测,FAST角点检测,尺度不变surf检测,尺度不变sift检测,特征点的描述。由于是算法问题,相对来说会比较复杂,而且都是一些比较经典的算法,如果只是纯粹的想要用算法来实现一些功能,那么只要调用OpenCV几个简单的函数就可以了,但是如果想学习一下理论知识,为以后自己的研究有所帮助,而且想理解函数的
2014-04-01 12:25:19 8984
原创 学习OpenCV范例(十九)——轮廓提取和形状描述符
本范例主要介绍了如何提取轮廓和用一些形状描述符对轮廓进行表述,轮廓提取函数涉及到的参数很多,没有经常用到它的话,对参数的了解就不会太深刻,这里也按照本人搜索出来的一些资料进行总结,希望对大家有用。1、代码实现本代码实现了多个功能创建了三个滑动条:第一个滑动条表示状态描述符,分别表示为:0:多边形近似1:外接矩形2:外接圆3:力矩第二个滑动条表示轮廓检测mode类
2014-03-27 20:42:38 14514 1
原创 学习OpenCV范例(十八)——反向投影
本次要讲的范例是反向投影,反向投影如果是按照字面上的理解,还有书本上的理解可能会比较困难,但是如果是举一些具体的简单的例子,那可能就比较容易接受了,应用的话,可以检测出肤色区域,例如,你有一个肤色直方图 ( Hue-Saturation 直方图 ),你可以用它来寻找图像中的肤色区域,现在我们来看看反向变换吧。1、原理图像的反向投影图是用输入图像的某一位置上像素值(多维或灰度)对应在直方图的
2014-03-26 16:28:12 7136 1
原创 学习OpenCV范例(十七)——直方图计算和均衡化
本次案例将为大家介绍直方图计算和直方图均衡化,直方图的计算非常有用,在很多场合下都可以用上,不仅仅是在图像的灰度值上,还可能是在图像的其他特征上;图像的均衡化在图像预处理时经常被用到,它可以增强对比度,使得像素强度分布范围更广。1、原理直方图计算:http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/hi
2014-03-24 16:10:56 5330
原创 学习OpenCV范例(十六)——重映射和仿射变换
重映射在图像处理中主要的功能为:将一个图像中一个位置的像素放置到另一个图像指定位置的过程,可以根据自己设定的函数将图像进行变换,较常见的功能有关于x轴翻转,关于y轴翻转,关于x、y轴翻转;仿射变换在图像处理中的主要功能为:对图像进行缩放、旋转、平移、扭曲等。1、原理从下面三个链接可以详细的了解到重映射和仿射变换的原理重映射:http://www.opencv.org.cn/opencv
2014-03-22 22:51:13 7163
原创 学习OpenCV范例(十五)——霍夫变换
本次范例通过霍夫变换检测直线和圆,讲解霍夫线变换和霍夫圆变换的原理,代码实现,和演示结果,使用霍夫线变换之前, 首先要对图像进行边缘检测的处理,也即霍夫线变换的直接输入只能是边缘二值图像。而霍夫圆变换则只要输入灰度图像即可,因为在霍夫圆变换的过程中已经用到了canny边缘检测。1、原理霍夫线变换:众所周知, 一条直线在图像二维空间可由两个变量表示. 例如:在 笛
2014-03-22 16:33:53 4255 1
原创 学习OpenCV范例(十四)——sobel,laplace,canny的运用
本次范例将要学习关于边缘提取,图像锐化的三个基本函数,风别是Sobel(),Laplacian(),Canny(),会从原理讲起,再到代码实现,最后会贴出运行结果,进行三种结果的对比。1、原理及计算Sobel:原理:由上图,你可以看到在 边缘 ,相素值显著的 改变 了。表示这一 改变 的一个方法是使用 导数 。 梯度值的大变预示着图像中内容的显著变化。用更加形象的图像来
2014-03-20 21:57:47 8637
原创 学习OpenCV范例(十三)——图像金字塔
以多个分辨率来表示图像的一种有效且概念简单的结构是图像金字塔,一个图像金字塔是一系列以金子塔形状排列的、分辨率逐渐降低的图像集合。——《数字图像处理》。图像金字塔可用于图像的缩小和放大,在后期的讲解中还会涉及到利用图像金字塔对图像进行分割。1、原理一个图像金字塔是一系列图像的集合 - 所有图像来源于同一张原始图像 - 通过梯次向下采样获得,直到达到某个终止条件才停止采样。有两种类型
2014-03-18 21:56:52 3309
A Model of saliency Based Visual Attention for Rapid Scene Analysis
2014-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人