想象一下,我有以下几点:
CvMat* mat = cvCreateMat(3,3,CV_16SC3)
Run Code Online (Sandbox Code Playgroud)
这是通道3的3x3整数矩阵.
现在,如果您查看OpenCV文档,您会发现以下内容作为cvMat的减速:
typedef struct CvMat {
int type;
int step;
int* refcount;
union
{
uchar* ptr;
short* s;
int* i;
float* fl;
double* db;
} data;
union
{
int rows;
int height;
};
union
{
int cols;
int width;
};
} CvMat;
Run Code Online (Sandbox Code Playgroud)
现在,我想使用data.ptr,它是指向存储在cvMat中的数据的指针.但是,我很难理解内存是如何布局的.如果我有一个3通道矩阵,这是如何工作的?对于一个通道来说它很简单,因为它只是一个简单的MxN矩阵,其中M是行,N是cols.但对于3通道,这些MxN矩阵中有3个吗?有人可以告诉我如何通过data.ptr进行3通道矩阵的初始化以及如何访问这些值吗?谢谢.
opencv ×1