union
{
uchar* ptr; // pointer to 8-bit unsigned elements
short* s; // pointer to 16-bit signed elements
int* i; // pointer to 32-bit signed elements
float* fl; // pointer to 32-bit floating-point elements
double* db; // pointer to 64-bit floating-point elements
} data; // Pointers to the actual matrix data
depth:深度,即每一个像素的位数(bits),在opencv的Mat.depth()中得到的是一个 0 – 6 的数字,分别代表不同的位数:enum { CV_8U=0, CV_8S=1, CV_16U=2, CV_16S=3, CV_32S=4, CV_32F=5, CV_64F=6 }; 可见 0和1都代表8位, 2和3都代表16位,4和5代表32位,6代表64位;