我正在研究一些openCV
文档和标题,并尝试完全理解这里发生了什么。
在core_c.h
:
CVAPI(CvMat*) cvInitMatHeader( CvMat* mat, int rows, int cols,
int type, void* data CV_DEFAULT(NULL),
int step CV_DEFAULT(CV_AUTOSTEP) );
首先,在cvInitMatHeader
void* data CV_DEFAULT(NULL),
int step CV_DEFAULT(CV_AUTOSTEP)
这种输入变量是什么意思?这与我们通常使用的声明有什么区别,例如
void* data
int step
其次, 我阅读了实际上可以使用cvInitMatHeader的教程
double a[] = { 1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12 };
CvMat Ma;
cvInitMatHeader(&Ma, 3, 4, CV_64FC1, a);
输入变量的数量与标题不匹配,我找不到其他函数的重载。
为什么这可行?