opencv常用数据结构之:IplImage

五迷三道 提交于 2019-12-27 02:49:17

typedef struct_IplImage
{
      int nSize; //IplImage大小
      int ID; //版本(=0)
      int nChannels; //大多数OPENCV函数支持1、2、3或4个通道
      int alphaChannel; //被opencv忽略
      int depth; //像素的位深度,主要有以下支持格式:IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16U,IPL_DEPTH_16S, IPL_DEPTH_32S,IPL_DEPTH_32F 和                               IPL_DEPTH_64F */
      char colorMode[4]; //被opencv忽略
      char channelSeq[4]; //被opencv忽略
      int dataOder; //0:交叉存取颜色通道,1:分开的颜色通道;只有cvCreateImage可以创建交叉存取图像*/
      int origin; //图像原点位置:0表示顶-左结构,1表示底-左结构
      int align; //图像排列方式(4 or 8),在opencv被忽略,使用widthStep代替
      int width; //图像宽像素数
      int height; //图像高像素数

      struct_IplROI * roi; //图像感兴趣区域,当该值为空时,只对该区域进行处理
      struct_IplImage *maskROI; //在opencv中必须为NULL
      void *imageId; //同上
      struct_IplTileInfo * tileInfo; //同上

      int imageSize; //图像数据大小(在交叉存取格式下ImageSize=image->height*image->widthStep),单位字节
      char *imageData; //指向排列的图像数据
      int widthStep; //排列的图像行大小,以字节为单位
      int BorderMode[4]; //边际结束模式,在opencv被忽略
      int BorderConst[4]; //同上
      char *imageDataOrigin; //指针指向一个不同的图像数据结构(不是必须排列的),是为了纠正图像内存分配准备的


} IplImage;

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!