IplImage结构(转载)
typedef struct_IplImage
{
int nSize; /*IplImage结构的大小*/
int ID; /*图像头的版本*//* 版本 (=0)*/
int nChannels; /*通道数,据不同颜色类型的位图可取1、3、4*/
/*这里是指:每个位图像素是由几个点组成的,如,最经典的是24位位图,每个像素有RGB三个点组成,每个点是0~255(就是8位一个无符号字节,就是一个depth)*/
/*取值4,表示32位位图,有Alpha值,既位图透明度*/
int alphaChannel; /*Alpha通道数,没有取0,有则取4*/
int depth; /*每个通道的位数,可取1、8、16、32*/
/*这里具体指的就是:组成像素单个点的深度(既每个通道深度),一般都是无符号8位*/
/*一般图像概念所说的多少位位图是指像素的深度,如一个RGB位图就是 3*8=24,所以是24位位图;ARGB就是4*8=32,所以是32位位图;8位位图就是一个通道(一个单点)所有就是8位(既256色位图)*/
char colorModel[4]; /*颜色模式,有Gray、RGB、RGBA、CMYK等*/
char channelSeq[4]; /*通道顺序,如“RGB”、“BGR”等*/
int dataOrder; /*数据的排列方式,使用像素格式, 0交叉存取颜色通道,1分开颜色通道*/
int origin; /*坐标原点,有左上角和左下角两种,IPL_ORIGIN_TL、IPL_ORIGIN_BL分别表示坐标原点位于图像的左上角、右下角*/
int align; /*图像数据的排列方式*/
int width; /*图像的宽*/
int height; /*图像的高*/
struct _IplROI*roi; /*指向ROI结构的指针,NULL表没有*/
struct _IplImage*maskROI; /*指向ROI模板的指针,NULL表没有*/
void *imageId; /*用于应用中,对于本库,可忽略*/
struct_IplTileInfo *tileInfo; /*该指针指向包含图像分解的信息*/
int imageSize; /*图像的大小,图像数据大小在交叉存储格式下imageSize=height*widthStep,单位字节*/
char *imageData; /*指向图像数据的指针,保存指向图像数据区首地址的指针*/
int widthStep; /*校准后的行字节数,等于width*nChannels*/
intBorderMode[4]; /*边缘像素的模式*/
intBorderConst[4]; /*表示四个边的常数*/
char*imageDataOrigin; /*该指针指向完整的、没有校准的图像*/
} IplImage;