_dst.create( map1.size(), src.type() );
Mat dst = _dst.getMat();
- CV_Assert(dst.data != src.data);
+ if( dst.data == src.data )
+ src = src.clone();
int depth = src.depth(), map_depth = map1.depth();
RemapNNFunc nnfunc = 0;
Mat src = _src.getMat(), M0 = _M0.getMat();
_dst.create( dsize.area() == 0 ? src.size() : dsize, src.type() );
Mat dst = _dst.getMat();
- CV_Assert( dst.data != src.data && src.cols > 0 && src.rows > 0 );
+ CV_Assert( src.cols > 0 && src.rows > 0 );
+ if( dst.data == src.data )
+ src = src.clone();
const int BLOCK_SZ = 64;
short XY[BLOCK_SZ*BLOCK_SZ*2], A[BLOCK_SZ*BLOCK_SZ];
_dst.create( dsize.area() == 0 ? src.size() : dsize, src.type() );
Mat dst = _dst.getMat();
- CV_Assert( dst.data != src.data && src.cols > 0 && src.rows > 0 );
+ CV_Assert( src.cols > 0 && src.rows > 0 );
+ if( dst.data == src.data )
+ src = src.clone();
const int BLOCK_SZ = 32;
short XY[BLOCK_SZ*BLOCK_SZ*2], A[BLOCK_SZ*BLOCK_SZ];