Commit a9065b7d authored by Vadim Pisarevsky's avatar Vadim Pisarevsky

trying to fix failures in tests

parent 303df78c
...@@ -271,7 +271,7 @@ void cv::split(InputArray _m, OutputArrayOfArrays _mv) ...@@ -271,7 +271,7 @@ void cv::split(InputArray _m, OutputArrayOfArrays _mv)
_mv.release(); _mv.release();
return; return;
} }
CV_Assert( !_mv.fixedType() || _mv.type() == m.depth() ); CV_Assert( !_mv.fixedType() || _mv.empty() || _mv.type() == m.depth() );
_mv.create(m.channels(), 1, m.depth()); _mv.create(m.channels(), 1, m.depth());
Mat* dst = &_mv.getMatRef(0); Mat* dst = &_mv.getMatRef(0);
split(m, dst); split(m, dst);
......
...@@ -1469,9 +1469,6 @@ int _InputArray::type(int i) const ...@@ -1469,9 +1469,6 @@ int _InputArray::type(int i) const
{ {
int k = kind(); int k = kind();
if( k == MATX || k == STD_VECTOR || k == STD_VECTOR_VECTOR || (flags & FIXED_TYPE))
return CV_MAT_TYPE(flags);
if( k == MAT ) if( k == MAT )
return ((const Mat*)obj)->type(); return ((const Mat*)obj)->type();
...@@ -1481,14 +1478,21 @@ int _InputArray::type(int i) const ...@@ -1481,14 +1478,21 @@ int _InputArray::type(int i) const
if( k == EXPR ) if( k == EXPR )
return ((const MatExpr*)obj)->type(); return ((const MatExpr*)obj)->type();
if( k == MATX || k == STD_VECTOR || k == STD_VECTOR_VECTOR )
return CV_MAT_TYPE(flags);
if( k == NONE ) if( k == NONE )
return -1; return -1;
if( k == STD_VECTOR_MAT ) if( k == STD_VECTOR_MAT )
{ {
const std::vector<Mat>& vv = *(const std::vector<Mat>*)obj; const std::vector<Mat>& vv = *(const std::vector<Mat>*)obj;
if( vv.empty() )
{
CV_Assert((flags & FIXED_TYPE) != 0);
return CV_MAT_TYPE(flags);
}
CV_Assert( i < (int)vv.size() ); CV_Assert( i < (int)vv.size() );
return vv[i >= 0 ? i : 0].type(); return vv[i >= 0 ? i : 0].type();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment