Fix regression in core arithmetic
authorAndrey Kamaev <andrey.kamaev@itseez.com>
Tue, 9 Oct 2012 16:25:36 +0000 (20:25 +0400)
committerAndrey Kamaev <andrey.kamaev@itseez.com>
Tue, 9 Oct 2012 16:25:36 +0000 (20:25 +0400)
modules/core/src/arithm.cpp

index d2f2819..90c29bc 100644 (file)
@@ -1278,7 +1278,9 @@ static void arithm_op(InputArray _src1, InputArray _src2, OutputArray _dst,
                      "nor 'array op scalar', nor 'scalar op array'" );
         haveScalar = true;
         CV_Assert(src2.type() == CV_64F && (src2.rows == 4 || src2.rows == 1));
-        depth2 = MAX(src1.depth(), actualScalarDepth(src2.ptr<double>(), src1.channels()));
+
+        if (usrdata == 0) // hack to filter out multiply and divide
+            depth2 = actualScalarDepth(src2.ptr<double>(), src1.channels());
     }
 
     int cn = src1.channels(), depth1 = src1.depth(), wtype;