added checking destination matrix size for resize and integral functions
authorMarina Kolpakova <no@email>
Wed, 4 Jul 2012 16:03:43 +0000 (16:03 +0000)
committerMarina Kolpakova <no@email>
Wed, 4 Jul 2012 16:03:43 +0000 (16:03 +0000)
modules/gpu/src/imgproc.cpp
modules/gpu/src/resize.cpp

index 015e2af..31ab44c 100644 (file)
@@ -530,8 +530,8 @@ void cv::gpu::integral(const GpuMat& src, GpuMat& sum, Stream& s)
 void cv::gpu::integralBuffered(const GpuMat& src, GpuMat& sum, GpuMat& buffer, Stream& s)\r
 {\r
     CV_Assert(src.type() == CV_8UC1);\r
-\r
-    sum.create(src.rows + 1, src.cols + 1, CV_32S);\r
+    if (sum.cols != src.cols + 1 && sum.rows != src.rows + 1)\r
+        sum.create(src.rows + 1, src.cols + 1, CV_32S);\r
 \r
     NcvSize32u roiSize;\r
     roiSize.width = src.cols;\r
index 241068d..83634a2 100644 (file)
@@ -83,8 +83,8 @@ void cv::gpu::resize(const GpuMat& src, GpuMat& dst, Size dsize, double fx, doub
         fx = static_cast<double>(dsize.width) / src.cols;\r
         fy = static_cast<double>(dsize.height) / src.rows;\r
     }\r
-\r
-    dst.create(dsize, src.type());\r
+    if (dsize != dst.size())\r
+        dst.create(dsize, src.type());\r
 \r
     if (dsize == src.size())\r
     {\r