03 2011 档案
转-cvGet2D()与cvSet2D() 的坐标问题
摘要:对于图像中的某一像素点 P(x, y), 在我们正常的坐标系中,x代表其横坐标,y代表其纵坐标,而在opencv的函数 cvGet2D()与cvSet2D() 中,却行不通。cvGet2D() 的函数原型是 : CvScalar cvGet2D (const CvArr * arr, int idx0, int idx1); 函数返回的是一个CvScalar 容器,其参数中也有两个方向的坐标,但跟我们平常习惯的坐标不一样的是,idx0代表是的行,即高度,对应于我们平常坐标系的y, idx1代表的是列,即宽度,对应于我们平常坐标系的x,cvSet2D() 也类似。所以在使用cvSet2D() 与
阅读全文
hu矩
摘要:矩是概率统计里的概念,然而他在轮廓分析里也很有用,其中比较著名要数Hu矩了。下面我们来看矩的定义:定义一个轮廓x为p阶,y为q阶的公式为:OPENCV提供计算各阶的函数为void cvContoursMoments(CvSeq*contour,CvMoments*moments)其中矩的结构体为:typedef struct CvMoments{//spatial momentsdouble m00,m10,m01,m20,m11,m02,m30,m21,m12,m03;//central momentsdouble mu20,mu11,mu02,mu30,mu21,mu12,mu03;//.
阅读全文
knn分类
摘要:右图中,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。knn的思想比较简单,从训练样本中找出K个与其最相近的样本,然后看这k个样本中哪个类别的样本多,则待判定的值(或说抽样)就属于这个类别。公式表示为:1,对所有的样本求距离 ,然后选出K个最近的2,从这k个样本中找出含有样本最多的所属类别:缺点:1,k值需要预先设定,而不能自适应。2当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居
阅读全文
cvCloneImage() 和 cvCopy()的区别
摘要:Opencv中cvCopy()和cvCloneImage()的区别:1 cvCopy的原型是:void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL );在使用这个函数之前,你必须用cvCreateImage()一类的函数先开一段内存,然后传递给dst。cvCopy会把src中的数据复制到dst的内存中。2 cvCloneImage的原型是:IplImage* cvCloneImage( const IplImage* image );在使用函数之前,不用开辟内存。该函数会自己开一段内存,然后复制好image里面的数据
阅读全文