Honor multidimensional matrices in InputArray::total

This commit is contained in:
Andrey Kamaev 2012-12-22 17:56:02 +04:00
parent ffdbddd6b1
commit f87987ed72

View File

@ -1188,6 +1188,24 @@ Size _InputArray::size(int i) const
size_t _InputArray::total(int i) const
{
int k = kind();
if( k == MAT )
{
CV_Assert( i < 0 );
return ((const Mat*)obj)->total();
}
if( k == STD_VECTOR_MAT )
{
const vector<Mat>& vv = *(const vector<Mat>*)obj;
if( i < 0 )
return vv.size();
CV_Assert( i < (int)vv.size() );
return vv[i].total();
}
return size(i).area();
}