diff --git a/modules/python/src2/cv2.cpp b/modules/python/src2/cv2.cpp index d16b01d1e..df909d7fe 100644 --- a/modules/python/src2/cv2.cpp +++ b/modules/python/src2/cv2.cpp @@ -279,11 +279,14 @@ static int pyopencv_to(const PyObject* o, Mat& m, const ArgInfo info, bool allow needcopy = true; } + if( ismultichannel && _strides[1] != (npy_intp)elemsize*_sizes[2] ) + needcopy = true; + if (needcopy) { if (info.outputarg) { - failmsg("output array %s is not row-contiguous (step[ndims-1] != elemsize)", info.name); + failmsg("Layout of the output array %s is compatible with cv::Mat (step[ndims-1] != elemsize or step[1] != elemsize*nchannels)", info.name); return false; } if( needcast )