CvArr、Mat、CvMat、IplImage、BYTE转换(总结而来)

  一、Mat类型: 矩阵类型,Matrix。

    在openCV中,Mat是一个多维的密集数据数组。可以用来处理向量和矩阵、图像、直方图等等常见的多维数据。

    Mat有3个重要的方法:

         1、Mat mat = imread(const String* filename);            读取图像

         2、imshow(const string frameName, InputArray mat);      显示图像

         3、imwrite (const string& filename, InputArray img);    储存图像

    Mat类型较CvMat与IplImage类型来说,有更强的矩阵运算能力,支持常见的矩阵运算。在计算密集型的应用当中,将CvMat与IplImage类型转化为Mat类型将大大减少计算时间花费。

A.Mat -> IplImage

同样只是创建图像头,而没有复制数据。

例: // 假设Mat类型的imgMat图像数据存在

IplImage pImg= IplImage(imgMat); 

B.Mat -> CvMat

与IplImage的转换类似,不复制数据,只创建矩阵头。

例: // 假设Mat类型的imgMat图像数据存在

     CvMat cvMat = imgMat;

 

二、CvMat类型与IplImage类型:“图像”类型

       在openCV中,Mat类型与CvMat和IplImage类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“图像”,openCV对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。

补充:IplImageCvMat派生,而CvMatCvArr派生即CvArr -> CvMat -> IplImage

            CvArr用作函数的参数,无论传入的是CvMatIplImage,内部都是按CvMat处理。

1.CvMat

A.CvMat-> IplImage

IplImage* img = cvCreateImage(cvGetSize(mat),8,1);
cvGetImage(matI,img);

cvSaveImage("rice1.bmp",img);

B.CvMat->Mat

与IplImage的转换类似,可以选择是否复制数据。

Mat::Mat(const CvMat* m, bool copyData=false);

在openCV中,没有向量(vector)的数据结构。任何时候,但我们要表示向量时,用矩阵数据表示即可。

但是,CvMat类型与我们在线性代数课程上学的向量概念相比,更抽象,比如CvMat的元素数据类型并不仅限于基础数据类型,比如,下面创建一个二维数据矩阵:

              CvMat* cvCreatMat(int rows ,int cols , int type);

这里的type可以是任意的预定义数据类型,比如RGB或者别的多通道数据。这样我们便可以在一个CvMat矩阵上表示丰富多彩的图像了。

 

2.IplImage

在类型关系上,我们可以说IplImage类型继承自CvMat类型,当然还包括其他的变量将之解析成图像数据。

IplImage类型较之CvMat多了很多参数,比如depth和nChannels。在普通的矩阵类型当中,通常深度和通道数被同时表示,如用32位表示RGB+Alpha.但是,在图像处理中,我们往往将深度与通道数分开处理,这样做是OpenCV对图像表示的一种优化方案。

IplImage的对图像的另一种优化是变量origin----原点。在计算机视觉处理上,一个重要的不便是对原点的定义不清楚,图像来源,编码格式,甚至操作系统都会对原地的选取产生影响。为了弥补这一点,openCV允许用户定义自己的原点设置。取值0表示原点位于图片左上角,1表示左下角。

dataOrder参数定义数据的格式。有IPL_DATA_ORDER_PIXEL和IPL_DATA_ORDER_PLANE两种取值,前者便是对于像素,不同的通道的数据交叉排列,后者表示所有通道按顺序平行排列。

IplImage类型的所有额外变量都是对“图像”的表示与计算能力的优化。

A.IplImage -> Mat

IplImage* pImg = cvLoadImage("lena.jpg");
Mat img(pImg,0); // 0是不複製影像,也就是pImgimgdata共用同個記憶體位置,header各自有
B.IplImage -> CvMat

1CvMat mathdr, *mat = cvGetMat( img, &mathdr );

法2CvMat *mat = cvCreateMat( img->height, img->width, CV_64FC3 );
  cvConvert( img, mat );

C.IplImage*-> BYTE*

BYTE* data= img->imageData;

 

CvMat和IplImage创建时的一个小区别:

1、建立矩阵时,第一个参数为行数,第二个参数为列数。

CvMat* cvCreateMat( int rows, int cols, int type );

2、建立图像时,CvSize第一个参数为宽度,即列数;第二个参数为高度,即行数。这 个和CvMat矩阵正好相反。

IplImage* cvCreateImage(CvSize size, int depth, int channels );

CvSize cvSize( int width, int height );

 

IplImage内部buffer每行是按4字节对齐的,CvMat没有这个限制

 

补充:

A.BYTE*-> IplImage*

img= cvCreateImageHeader(cvSize(width,height),depth,channels);

cvSetData(img,data,step);

//首先由cvCreateImageHeader()创建IplImage图像头,制定图像的尺寸,深度和通道数;

//然后由cvSetData()根据BYTE*图像数据指针设置IplImage图像头的数据数据,

//其中step指定该IplImage图像每行占的字节数,对于1通道的IPL_DEPTH_8U图像,step可以等于width

  • 11
    点赞
  • 171
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
常用的五个函数(I/O) 1. 图像载入函数 函数cvLoadImage载入指定图像文件,并返回指向该文件的IplImage指针。函数支持bmp、jpg、 png、 tiff等格式的图像。其函数原型如下: IplImage* cvLoadImage( const char* filename, int iscolor); 其中,filename 是待载入图像的名称,包括图像的扩展名;iscolor是一个辅助参数项,可选正数、零和负数三种值,正数表示作为三通道图像载入,零表示该图像作为单通道图像,负数表示载入图像的通道数由图像文件自身决定。 2. 窗口定义函数 函数cvNamedWindow定义一个窗口,用于显示图像。其函数原型如下: int cvNamedWindow( const char* name, unsigned long flags ); 其中,name是窗口名,flags是窗口属性指标值,可以选择CV_WINDOW_AUTOSIZE和0两种值。CV_WINDOW_AUTOSIZE表示窗口尺寸与图像原始尺寸相同,0表示以固定的窗口尺寸显示图像。 函数 cvDestroyWindow(const char* name);销毁以上定义的窗口。 name是窗口名 3. 图像显示函数 函数cvShowImage是在指定的窗口中显示图像,其函数原型如下: void cvShowImage( const char* name, const CvArr* image ); 其中,name是窗口名称,image是图像类型指针,一般是IplImage指针。 4. 图像保存函数 函数cvSaveImage以指定的文件名保存IplImage类型的指针变量,其函数原型如下: int cvSaveImage( const char* filename, const CvArr* image ); 其中,filename是图像保存路径和名称,imageIplImage指针变量。 5. 图像销毁函数 函数cvReleaseImage销毁已定义的IplImage指针变量,释放占用内存空间。其函数原型如下: void cvReleaseImage( IplImage** image ); 其中,image为已定义的IplImage指针
OpenCV Reference Manual v2.1 March 18, 2010 2 Contents I C API Reference 39 1 cxcore. The Core Functionality 41 1.1 Basic Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 CvPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 CvPoint2D32f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 CvPoint3D32f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 CvPoint2D64f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 CvPoint3D64f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 CvSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 CvSize2D32f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 CvRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 CvScalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 CvTermCriteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 CvMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 CvMatND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 CvSparseMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 IplImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 CvArr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 1.2 Operations on Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 cvAbsDiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 cvAbsDiffS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 cvAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 cvAddS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 cvAddWeighted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 cvAnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 cvAndS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 cvAvg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 cvAvgSdv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 cvCalcCovarMatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3 4 CONTENTS cvCartToPolar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 cvCbrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 cvClearND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 cvCloneImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 cvCloneMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 cvCloneMatND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 cvCloneSparseMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 cvCmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 cvCmpS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 cvConvertScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 cvConvertScaleAbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 cvCvtScaleAbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 cvCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 cvCountNonZero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 cvCreateData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 cvCreateImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 cvCreateImageHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 cvCreateMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 cvCreateMatHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 cvCreateMatND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 cvCreateMatNDHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 cvCreateSparseMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 cvCrossProduct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 CvtPixToPlane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 cvDCT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 cvDFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 cvDecRefData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 cvDet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 cvDiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 cvDotProduct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 cvEigenVV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 cvExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 cvFastArctan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 cvFlip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 cvGEMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 cvGet?D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 cvGetCol(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 cvGetDiag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 cvGetDims, cvGetDimSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 cvGetElemType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 CONTENTS 5 cvGetImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 cvGetImageCOI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 cvGetImageROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 cvGetMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 cvGetNextSparseNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 cvGetOptimalDFTSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 cvGetRawData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 cvGetReal?D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 cvGetRow(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 cvGetSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 cvGetSubRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 cvInRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 cvInRangeS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 cvIncRefData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 cvInitImageHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 cvInitMatHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 cvInitMatNDHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 cvInitSparseMatIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 cvInvSqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 cvInv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 cvInvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 cvIsInf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 cvIsNaN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 cvLUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 cvLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 cvMahalonobis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 cvMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 cvMax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 cvMaxS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 cvMerge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 cvMin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 cvMinMaxLoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 cvMinS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 cvMixChannels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 MulAddS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 cvMul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 cvMulSpectrums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 cvMulTransposed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 cvNorm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6 CONTENTS cvNot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 cvOr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 cvOrS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 cvPerspectiveTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 cvPolarToCart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 cvPow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 cvPtr?D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 cvRNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 cvRandArr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 cvRandInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 cvRandReal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 cvReduce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 cvReleaseData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 cvReleaseImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 cvReleaseImageHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 cvReleaseMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 cvReleaseMatND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 cvReleaseSparseMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 cvRepeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 cvResetImageROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 cvReshape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 cvReshapeMatND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 cvRound, cvFloor, cvCeil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 cvScaleAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 cvSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 cvSet?D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 cvSetData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 cvSetIdentity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 cvSetImageCOI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 cvSetImageROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 cvSetReal?D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 cvSetZero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 cvSolve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 cvSolveCubic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 cvSplit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 cvSqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 cvSub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 cvSubRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 cvSubS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 cvSum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 CONTENTS 7 cvSVBkSb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 cvSVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 cvTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 cvTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 cvTranspose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 cvXor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 cvXorS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 cvmGet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 cvmSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 1.3 Dynamic Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 CvMemStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 CvMemBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 CvMemStoragePos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 CvSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 CvSeqBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 CvSlice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 CvSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 CvGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 CvGraphScanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 CV TREE NODE FIELDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 CvTreeNodeIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 cvClearGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 cvClearMemStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 cvClearSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 cvClearSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 cvCloneGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 cvCloneSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 cvCreateChildMemStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 cvCreateGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 cvCreateGraphScanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 cvCreateMemStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 cvCreateSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 cvCreateSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 cvCvtSeqToArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 cvEndWriteSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 cvFindGraphEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 cvFindGraphEdgeByPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 cvFlushSeqWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 cvGetGraphVtx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 cvGetSeqElem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 8 CONTENTS cvGetSeqReaderPos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 cvGetSetElem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 cvGraphAddEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 cvGraphAddEdgeByPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 cvGraphAddVtx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 cvGraphEdgeIdx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 cvGraphRemoveEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 cvGraphRemoveEdgeByPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 cvGraphRemoveVtx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 cvGraphRemoveVtxByPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 cvGraphVtxDegree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 cvGraphVtxDegreeByPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 cvGraphVtxIdx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 cvInitTreeNodeIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 cvInsertNodeIntoTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 cvMakeSeqHeaderForArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 cvMemStorageAlloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 cvMemStorageAllocString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 cvNextGraphItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 cvNextTreeNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 cvPrevTreeNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 cvReleaseGraphScanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 cvReleaseMemStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 cvRestoreMemStoragePos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 cvSaveMemStoragePos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 cvSeqElemIdx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 cvSeqInsert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 cvSeqInsertSlice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 cvSeqInvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 cvSeqPop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 cvSeqPopFront . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 cvSeqPopMulti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 cvSeqPush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 cvSeqPushFront . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 cvSeqPushMulti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 cvSeqRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 cvSeqRemoveSlice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 cvSeqSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 cvSeqSlice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 cvSeqSort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 CONTENTS 9 cvSetAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 cvSetNew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 cvSetRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 cvSetRemoveByPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 cvSetSeqBlockSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 cvSetSeqReaderPos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 cvStartAppendToSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 cvStartReadSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 cvStartWriteSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 cvTreeToNodeSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 1.4 Drawing Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 cvCircle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 cvClipLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 cvDrawContours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 cvEllipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 cvEllipseBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 cvFillConvexPoly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 cvFillPoly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值