【opencv】IplImage详细说明以及访问每个元素的方法

http://blog.csdn.net/xiaowei_cqu/article/details/7557063从这里转来的,她的讲解都很详细的~

开始他的文章转载之前,先加点里面重要地方的说明~

depth和nChannels

depth代表颜色深度,使用的是以下定义的宏,nChannels是通道数,为1,2,3或4。
depth的宏定义:
IPL_DEPTH_8U,无符号8bit整数(8u)
IPL_DEPTH_8S,有符号8bit整数(8s)
IPL_DEPTH_16S,有符号16bit整数(16s)
IPL_DEPTH_32S,有符号32bit整数(32s)
IPL_DEPTH_32F,32bit浮点数,单精度(32f)

IPL_DEPTH_64F,64bit浮点数,双精度(64f)
注:这里的颜色深度是指单个通道的数据保存为的变量类型,例如RGB24格式的数据,通道数为3,颜色深度为IPL_DEPTH_8U

char是-128~127,uchar是0~255 所以这里用的是uchar。

彩色图像如果为多通道,排列的顺序为BGR而不是RGB

接下来就开始转载喽~

IplImage是OpenCV中CxCore部分基础的数据结构,用来表示图像,其中Ipl是Intel Image Processing Library的简写。以下是IplImage的结构分析(来自OpenCV中文网站:http://www.opencv.org.cn/index.php/Cxcore%E5%9F%BA%E7%A1%80%E7%BB%93%E6%9E%84#IplImage

  1. typedef struct _IplImage  
  2.     {  
  3.         int  nSize;         /* IplImage大小 */  
  4.         int  ID;            /* 版本 (=0)*/  
  5.         int  nChannels;     /* 大多数OPENCV函数支持1,2,3 或 4 个通道 */  
  6.         int  alphaChannel;  /* 被OpenCV忽略 */  
  7.         int  depth;         /* 像素的位深度: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16U, 
  8.                                IPL_DEPTH_16S, IPL_DEPTH_32S, IPL_DEPTH_32F and IPL_DEPTH_64F 可支持 */  
  9.         char colorModel[4]; /* 被OpenCV忽略 */  
  10.         char channelSeq[4]; /* 同上 */  
  11.         int  dataOrder;     /* 0 - 交叉存取颜色通道, 1 - 分开的颜色通道. 
  12.                                cvCreateImage只能创建交叉存取图像 */  
  13.         int  origin;        
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值