fixed problem with Mat::copyTo() with Mat_<> arguments (ticket #1918)

This commit is contained in:
Vadim Pisarevsky 2012-05-11 12:40:20 +00:00
parent e794622776
commit 7a7dae3627
2 changed files with 9 additions and 1 deletions

View File

@ -1352,7 +1352,7 @@ void _OutputArray::create(int dims, const int* size, int type, int i, bool allow
if(CV_MAT_CN(type) == m.channels() && ((1 << CV_MAT_TYPE(flags)) & fixedDepthMask) != 0 )
type = m.type();
else
CV_Assert(!fixedType() || (CV_MAT_CN(type) == m.channels() && ((1 << CV_MAT_TYPE(flags)) & fixedDepthMask) != 0));
CV_Assert(CV_MAT_TYPE(type) == m.type());
}
if(fixedSize())
{

View File

@ -1504,6 +1504,14 @@ protected:
d.convertTo(d1, depth);
CV_Assert( norm(c, d1, CV_C) <= DBL_EPSILON );
}
Mat_<uchar> tmpSrc(100,100);
tmpSrc = 124;
Mat_<uchar> tmpMask(100,100);
tmpMask = 255;
Mat_<uchar> tmpDst(100,100);
tmpDst = 2;
tmpSrc.copyTo(tmpDst,tmpMask);
}
catch(...)
{