fixed cv::warpPerspective
authorIlya Lavrenov <ilya.lavrenov@itseez.com>
Wed, 2 Jul 2014 15:32:10 +0000 (19:32 +0400)
committerIlya Lavrenov <ilya.lavrenov@itseez.com>
Wed, 2 Jul 2014 15:32:10 +0000 (19:32 +0400)
modules/imgproc/src/imgwarp.cpp

index b69d75d..e07641f 100644 (file)
@@ -4188,7 +4188,7 @@ static bool ocl_warpTransform(InputArray _src, OutputArray _dst, InputArray _M0,
     const char * const kernelName = op_type == OCL_OP_AFFINE ? "warpAffine" : "warpPerspective";
 
     int scalarcn = cn == 3 ? 4 : cn;
-    bool is32f = !dev.isAMD() && (interpolation == INTER_CUBIC || interpolation == INTER_LINEAR);
+    bool is32f = !dev.isAMD() && (interpolation == INTER_CUBIC || interpolation == INTER_LINEAR) && op_type == OCL_OP_AFFINE;
     int wdepth = interpolation == INTER_NEAREST ? depth : std::max(is32f ? CV_32F : CV_32S, depth);
     int sctype = CV_MAKETYPE(wdepth, scalarcn);