View Code
1 //累加一个三通道矩阵中的所有元素 2 float sum(const CvMat* mat) 3 { 4 float s=0.0f; 5 for(int row=0;rowrows;row++) 6 { 7 const float* prt=(const float*)(mat->data->ptr+row*mat->step); 8 for (int col=0;col cols;col++) 9 { 10 s+=*prt++; 11 } 12 } 13 return (s); 14 }
//矩阵的元素data是一个联合体。所以对这个指针解引用时,必须指明结构体中的正确的元素以便得到正确的指针类型。
//为了参数正确的偏移必须用矩阵的行数据长度step元素。