fixed bugs #2100 (kind of) and #1393
authorVadim Pisarevsky <vadim.pisarevsky@itseez.com>
Thu, 18 Oct 2012 11:29:03 +0000 (15:29 +0400)
committerAndrey Kamaev <andrey.kamaev@itseez.com>
Fri, 19 Oct 2012 16:47:57 +0000 (20:47 +0400)
[edit: cleaned whitespace]

modules/python/src2/cv2.cpp

index d16b01d..df909d7 100644 (file)
@@ -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 )