- 博客(19)
- 资源 (14)
- 收藏
- 关注
原创 C++的static关键字
<br /> C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。<br />一、面向过程设计中的static<br />1、静态全局变量<br />在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include <iostream.h>void fn();static int n;
2011-01-19 14:49:00 401
原创 fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit
<br />project->setting->c/c++ 在project options里面是下面这样的<br />/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/帝位.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c <br /><br />//我试了一下,发现这个地方是存在空格的,因为那个地方很窄,空格不容易看见, 加进Zm200
2011-01-18 19:14:00 3837
原创 动态二维数组
<br />float** gm;<br />uchar** new_gm;<br />gm=new float* [h];<br />new_gm=new uchar* [h];<br />for (i=0;i<h;i++ )<br />{<br /> gm[i]=new float[w];<br />new_gm[i]=new uchar[w];<br />}<br /> <br /> <br />//释放所分配的内存空间 <br />for (i=0;i<h;i++)<br />{<br /> del
2011-01-18 14:43:00 734
转载 Boosting和Bagging
<br />在生成集成中个体网络方面,最重要的技术是Boosting [Sch90] 和Bagging [Bre96]。<br />Boosting最早由Schapire [Sch90] 提出,Freund [Fre95] 对其进行了改进。通过这种方法可以产生一系列神经网络,各网络的训练集决定于在其之前产生的网络的表现,被已有网络错误判断的示例将以较大的概率出现在新网络的训练集中。这样,新网络将能够很好地处理对已有网络来说很困难的示例。另一方面,虽然Boosting方法能够增强神经网络集成的泛化能力,但是同
2011-01-14 11:29:00 13089
原创 解决DEBUG_NEW : undeclared identifier的问题
<br />用VC++的向导生成的类, 都带有下面这几行:<br /><br />#ifdef _DEBUG <br />#undef THIS_FILE <br />static char THIS_FILE[]=__FILE__; <br />#define new DEBUG_NEW <br />#endif <br /><br />有时在使用new操作符的时候就会提示错误error C2065: 'DEBUG_NEW ': undeclared identifier,
2011-01-12 17:12:00 3761
转载 图像-不变矩
不变矩的主要思想是使用对变换不敏感的基于区域的几个矩作为形状特征,Hu提出了7个这样的矩,在他工作的基础上出现了很多改进的版本。图像的几何不变矩 矩特征主要表征了图像区域的几何特征,又称为几何矩, 由于其具有旋转、平移、尺度等特性的不变特征,所以又称其为不变矩。在图像处理中,几何不变矩可以作为一个重要的特征来表示物体,可以据此特征来对图像进行分类等操作。 1.HU矩 几何矩是由Hu(Visual pattern recognition by moment invariants)在1962
2011-01-04 10:55:00 35196 2
转载 七个hu不变矩的C
<br />double* Getsquare(int**Array1,int Width,int Height//Array1图像灰度矩阵<br />{<br /> int x,y;<br /> double pSum,dx,dy;<br /> int xmax,xmin,ymax,ymin,xSum,ySum,PointSum;<br /> double dd,n1,n2,xAve,yAve;<br /> pSum=Height*Width;<br /> xSum=0;ySum=0;Poin
2011-01-04 09:03:00 4398 1
转载 7个hu不变矩c++程序小试
<br /> 我使用OpenCV中的函数cvGetHumoments()计算7个hu不变矩时始终有错误,为了得到结果我自己用C++编写了一段计算7个hu不变矩的程序。<br />说明:图片必须是等边长的,即宽和高相等。****或许图片宽不能大于40像素,如果是边缘检测后的线条图像,图像宽高的限制会降低。如果你有什么好的想法,不妨留言交流一下。<br />#include "cv.h"<br />#include "cxcore.h"<br />#include "highgui.h"<br />#inclu
2011-01-04 09:00:00 2021 3
转载 7个hu不变矩c++程序小试
<br /> 我使用OpenCV中的函数cvGetHumoments()计算7个hu不变矩时始终有错误,为了得到结果我自己用C++编写了一段计算7个hu不变矩的程序。<br />说明:图片必须是等边长的,即宽和高相等。****或许图片宽不能大于40像素,如果是边缘检测后的线条图像,图像宽高的限制会降低。如果你有什么好的想法,不妨留言交流一下。<br />#include "cv.h"<br />#include "cxcore.h"<br />#include "highgui.h"<br />#inclu
2011-01-04 08:59:00 1841 4
转载 HU矩的VC++代码
<br />说明:<br /> 图像要是一个灰度图像<br /> pBmpBuf指向图像数据。<br /> 我看到网上没有一个真正的纯VC++的HU矩提取代码,希望这个能给大家有所帮助,我相信大家能看懂。(目前和OpenCv提取的还有一点偏差,我会尽快修改过来)<br />bool HuMoment()<br />{<br />double m00=0,m11=0,m20=0,m02=0,m30=0,m03=0,m12=0,m21=0;//中心矩<br />double x0=0,y0=0
2011-01-04 08:57:00 2988 2
转载 文本分类入门(十一)特征选择方法之信息增益
<br />前文提到过,除了开方检验(CHI)以外,信息增益(IG,Information Gain)也是很有效的特征选择方法。但凡是特征选择,总是在将特征的重要程度量化之后再进行选择,而如何量化特征的重要性,就成了各种方法间最大的不同。开方检验中使用特征与类别间的关联性来进行这个量化,关联性越强,特征得分越高,该特征越应该被保留。 <br />在信息增益中,重要性的衡量标准就是看特征能够为分类系统带来多少信息,带来的信息越多,该特征越重要。 <br />因此先回忆一下信息论中有关信息量(就是“熵”)的定义
2011-01-03 13:51:00 980
原创 SVM入门(八)松弛变量
<br />现在我们已经把一个本来线性不可分的文本分类问题,通过映射到高维空间而变成了线性可分的。就像下图这样: <br /> <br /><br />圆形和方形的点各有成千上万个(毕竟,这就是我们训练集中文档的数量嘛,当然很大了)。现在想象我们有另一个训练集,只比原先这个训练集多了一篇文章,映射到高维空间以后(当然,也使用了相同的核函数),也就多了一个样本点,但是这个样本的位置是这样的:<br /> <br />就是图中黄色那个点,它是方形的,因而它是负类的一个样本,这单独的一个样本,使得原本线性可分的问
2011-01-03 13:49:00 608
转载 SVM入门(七)为何需要核函数
<br />生存?还是毁灭?——哈姆雷特 <br />可分?还是不可分?——支持向量机 <br />之前一直在讨论的线性分类器,器如其名(汗,这是什么说法啊),只能对线性可分的样本做处理。如果提供的样本线性不可分,结果很简单,线性分类器的求解程序会无限循环,永远也解不出来。这必然使得它的适用范围大大缩小,而它的很多优点我们实在不原意放弃,怎么办呢?是否有某种方法,让线性不可分的数据变得线性可分呢? <br />有!其思想说来也简单,来用一个二维平面中的分类问题作例子,你一看就会明白。事先声明,下面这个例子是
2011-01-03 13:48:00 480
原创 SVM入门(六)线性分类器的求解——问题的转化,直观角度
<br />让我再一次比较完整的重复一下我们要解决的问题:我们有属于两个类别的样本点(并不限定这些点在二维空间中)若干,如图, <br /><br />圆形的样本点定为正样本(连带着,我们可以把正样本所属的类叫做正类),方形的点定为负例。我们想求得这样一个线性函数(在n维空间中的线性函数): <br />g(x)=wx+b <br />使得所有属于正类的点x+代入以后有g(x+)≥1,而所有属于负类的点x-代入后有g(x-)≤-1(之所以总跟1比较,无论正一还是负一,都是因为我们固定了间隔为1,注意间隔和几
2011-01-03 13:47:00 446
转载 SVM入门(五)线性分类器的求解——问题的描述Part2
<br />从最一般的定义上说,一个求最小值的问题就是一个优化问题(也叫寻优问题,更文绉绉的叫法是规划——Programming),它同样由两部分组成,目标函数和约束条件,可以用下面的式子表示: <br />(式1) <br />约束条件用函数c来表示,就是constrain的意思啦。你可以看出一共有p+q个约束条件,其中p个是不等式约束,q个等式约束。 <br />关于这个式子可以这样来理解:式中的x是自变量,但不限定它的维数必须为1(视乎你解决的问题空间维数,对我们的文本分类来说,那可是成千上万啊)。要
2011-01-03 13:43:00 392
转载 SVM入门(四)线性分类器的求解——问题的描述Part1
<br />上节说到我们有了一个线性分类函数,也有了判断解优劣的标准——即有了优化的目标,这个目标就是最大化几何间隔,但是看过一些关于SVM的论文的人一定记得什么优化的目标是要最小化||w||这样的说法,这是怎么回事呢?回头再看看我们对间隔和几何间隔的定义: <br />间隔:δ=y(wx+b)=|g(x)| <br />几何间隔:<br /> <br />可以看出δ=||w||δ几何。注意到几何间隔与||w||是成反比的,因此最大化几何间隔与最小化||w||完全是一回事。而我们常用的方法并不是固定||w
2011-01-03 13:42:00 465
转载 SVM入门(一)至(三)
按:之前的文章重新汇编一下,修改了一些错误和不当的说法,一起复习,然后继续SVM之旅.<br />(一)SVM的八股简介<br />支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。<br />支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Acc
2011-01-03 13:41:00 558
原创 SVM入门(十)将SVM用于多类分类
<br />从 SVM的那几张图可以看出来,SVM是一种典型的两类分类器,即它只回答属于正类还是负类的问题。而现实中要解决的问题,往往是多类的问题(少部分例外,例如垃圾邮件过滤,就只需要确定“是”还是“不是”垃圾邮件),比如文本分类,比如数字识别。如何由两类分类器得到多类分类器,就是一个值得研究的问题。 <br />还以文本分类为例,现成的方法有很多,其中一种一劳永逸的方法,就是真的一次性考虑所有样本,并求解一个多目标函数的优化问题,一次性得到多个分类面,就像下图这样: <br /><br />多个超平面把
2011-01-03 13:36:00 591
原创 【转】Gabor函数和Gabor滤波器的原理和实现
<br />原文:http://blog.shamoxia.com/html/y2009/381.html<br />Gabor函数<br /> Gabor变换属于加窗傅立叶变换,Gabor函数可以在频域不同尺度、不同方向上提取相关的特征。另外Gabor函数与人眼的生物作用相仿,所以经常用作纹理识别上,并取得了较好的效果。二维Gabor函数可以表示为:<br /> 其中:<br /> v的取值决定了Gabor滤波的波长,u的取值表示Gabor核函数的方向,K表示总的方向数。参数决定了高斯窗口的大小,这
2011-01-03 10:54:00 3525
INTERACT(1).pptx
2020-04-30
shader forge
2018-07-01
驼峰仿真研究
2018-07-01
编组站能力协调研究
2018-07-01
FormatDataLibsvm.xls
2009-08-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人