diff --git a/modules/gpu/src/imgproc.cpp b/modules/gpu/src/imgproc.cpp index 015e2afe7f..31ab44cb8d 100644 --- a/modules/gpu/src/imgproc.cpp +++ b/modules/gpu/src/imgproc.cpp @@ -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) { CV_Assert(src.type() == CV_8UC1); - - sum.create(src.rows + 1, src.cols + 1, CV_32S); + if (sum.cols != src.cols + 1 && sum.rows != src.rows + 1) + sum.create(src.rows + 1, src.cols + 1, CV_32S); NcvSize32u roiSize; roiSize.width = src.cols; diff --git a/modules/gpu/src/resize.cpp b/modules/gpu/src/resize.cpp index 241068d823..83634a2480 100644 --- a/modules/gpu/src/resize.cpp +++ b/modules/gpu/src/resize.cpp @@ -83,8 +83,8 @@ void cv::gpu::resize(const GpuMat& src, GpuMat& dst, Size dsize, double fx, doub fx = static_cast(dsize.width) / src.cols; fy = static_cast(dsize.height) / src.rows; } - - dst.create(dsize, src.type()); + if (dsize != dst.size()) + dst.create(dsize, src.type()); if (dsize == src.size()) {