From eb599f68327bebb71f668f7503592cd72961bf25 Mon Sep 17 00:00:00 2001 From: Marina Kolpakova Date: Wed, 4 Jul 2012 16:03:43 +0000 Subject: [PATCH] added checking destination matrix size for resize and integral functions --- modules/gpu/src/imgproc.cpp | 4 ++-- modules/gpu/src/resize.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/gpu/src/imgproc.cpp b/modules/gpu/src/imgproc.cpp index 015e2af..31ab44c 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 241068d..83634a2 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()) { -- 2.7.4