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;

posted @ 2014-11-25 19:19  龙泽一狼  阅读(518)  评论(0编辑  收藏  举报