// 数组维数
|-- union data;
|
|-- uchar*
ptr;
// 针对unsigned char矩阵的数据指针
|
|-- short*
s;
// 针对short矩阵的数据指针
|
|-- int*
i;
// 针对integer矩阵的数据指针
|
|-- float*
fl;
// 针对float矩阵的数据指针
|
|-- double* db;
// 针对double矩阵的数据指针
|
|-- struct dim[];
// 每个维的信息
|-- size;
// 该维内元素个数
|-- step;
// 该维内元素之间偏移量
通用数组:
CvArr* // 仅作为函数参数,说明函数接受多种类型的数组,例如:
// IplImage*, CvMat* 或者 CvSeq*.
// 只需通过分析数组头部的前4字节便可确定数组类型
二、修改单个像素:
1.3通道时:CV_IMAGE_ELEM(image, unsigned char, i, j*3+k) = gray_val; //0<=k<3
2.单通道时:CV_IMAGE_ELEM(image, unsigned char, i, j) = gray_val;
3.通用方法:CvScalar s;
s=cvGet2D(img,i,j); // 得到(i,j)像素值
s.val[0]=111; //单通道就只有这个有效