CvPoint
二维坐标系下的点,类型为整型
typedef
struct CvPoint
{
intx;/* X坐标,通常以为基点*/
inty;/* y坐标,通常以为基点*/
}CvPoint;
/* 构造函数*/
inline
CvPoint cvPoint(intx,inty
);
/* 从CvPoint2D32f类型转换得来*/
inline
CvPoint cvPointFrom32f(CvPoint2D32fpoint)
CvPoint2D32f
二维坐标下的点,类型为浮点
typedef
struct CvPoint2D32f
{
floatx;/* X坐标,通常以为基点*/
floaty;/* Y坐标,通常以为基点*/
}CvPoint2D32f;
/* 构造函数*/
inline
CvPoint2D32f cvPoint2D32f(doublex,doubley
);
/* 从CvPoint转换来*/
inline
CvPoint2D32f cvPointTo32f(CvPointpoint);
CvPoint3D32f
三维坐标下的点,类型为浮点
typedef
struct CvPoint3D32f
{
floatx;/* x-坐标,通常基于*/
floaty;/* y-坐标,通常基于*/
floatz;/* z-坐标,通常基于*/
}
CvPoint3D32f;
/* 构造函数*/
inline
CvPoint3D32f cvPoint3D32f(doublex,doubley,doublez
);
CvSize
矩形框大小,以像素为精度
typedef
struct CvSize
{
intwidth;/*矩形宽*/
intheight;/*矩形高*/
}
CvSize;
/* 构造函数*/
inline
CvSize cvSize(intwidth,intheight
);
CvSize2D32f
以亚像素精度标量矩形框大小
typedef
struct CvSize2D32f
{
floatwidth;/*矩形宽*/
floatheight;/*矩形高*/
}
CvSize2D32f;
/* 构造函数*/
inline
CvSize2D32f cvSize2D32f(doublewidth,doubleheight
);
{
CvSize2D32fs;
s.width=(float)width;
s.height=(float)height;
returns;
}
CvRect
矩形框的偏移和大小
typedef
struct CvRect
{
intx;/*方形的最左角的x-坐标*/
inty;/*方形的最上或者最下角的y-坐标*/
intwidth;/*宽*/
intheight;/*高*/
}
CvRect;
/* 构造函数*/
inline
CvRect cvRect(intx,inty,intwidth,intheight
);
CvMat
多通道矩阵
typedef
struct CvMat
{
inttype;/* CvMat标识(CV_MAT_MAGIC_VAL),元素类型和标记*/
intstep;/*以字节为单位的行数据长度*/
int*refcount;/*
数据引用计数*/
union
{
uchar*ptr;
short*s;
int*i;
float*fl;
double*db;
}data;/* data指针*/
#ifdef
__cplusplus
union
{
introws;
intheight;
};
union
{
intcols;
intwidth;
};
#else
introws;/*行数*/
intcols;/*列数*/
#endif
}
CvMat;
IplImage
IPL
图像头
typedef
struct _IplImage
{
intnSize;/* IplImage大小*/
intID;/*版本(=0)*/
intnChannels;/*大多数OPENCV函数支持,2,3或4个通道*/
intalphaChannel;/*被OpenCV忽略*/
intdepth;/*像素的位深度: IPL_DEPTH_8U, IPL_DEPTH_8S,IPL_DEPTH_16U,
IPL_DEPTH_16S,IPL_DEPTH_32S, IPL_DEPTH_32F and IPL_DEPTH_64F可支持*/
charcolorModel[4];/*被OpenCV忽略*/
charchannelSeq[4];/*同上*/
intdataOrder;/* 0 -交叉存取颜色通道, 1 -分开的颜色通道,cvCreateImage只能创建交叉存取图像*/
intorigin;/* 0 -顶—左结构,
1 - 底—左结构(Windows bitmaps风格)
*/
intalign;/*图像行排列(4 or 8). OpenCV忽略它,使用widthStep代替*/
intwidth;/*图像宽像素数*/
intheight;/*图像高像素数*/
struct_IplROI*roi;/*图像感兴趣区域.当该值非空只对该区域进行处理*/
struct_IplImage*maskROI;/*在OpenCV中必须置NULL
*/
void*imageId;/*同上*/
struct_IplTileInfo*tileInfo;/*同上*/
intimageSize;/*图像数据大小(在交叉存取格式下imageSize=image->height*image->widthStep),单位字节*/
char*imageData;/*指向排列的图像数据*/
intwidthStep;/*排列的图像行大小,以字节为单位*/
intBorderMode[4];/*边际结束模式,被OpenCV忽略*/
intBorderConst[4];/*同上*/
char*imageDataOrigin;/*指针指向一个不同的图像数据结构(不是必须排列的),是为了纠正图像内存分配准备的*/
}
IplImage;