diff --git a/modules/ocl/src/gfft.cpp b/modules/ocl/src/gfft.cpp index af7580bd4..7fd5e3a17 100644 --- a/modules/ocl/src/gfft.cpp +++ b/modules/ocl/src/gfft.cpp @@ -257,7 +257,8 @@ void cv::ocl::GoodFeaturesToTrackDetector_OCL::operator ()(const oclMat& image, if (minDistance < 1) { - corners = tmpCorners_(Rect(0, 0, maxCorners > 0 ? std::min(maxCorners, total) : total, 1)); + Rect roi_range(0, 0, maxCorners > 0 ? std::min(maxCorners, total) : total, 1); + tmpCorners_(roi_range).copyTo(corners); } else { diff --git a/modules/ocl/test/test_optflow.cpp b/modules/ocl/test/test_optflow.cpp index 0121be8f9..72689f3f7 100644 --- a/modules/ocl/test/test_optflow.cpp +++ b/modules/ocl/test/test_optflow.cpp @@ -121,7 +121,7 @@ TEST_P(GoodFeaturesToTrack, EmptyCorners) cv::ocl::GoodFeaturesToTrackDetector_OCL detector(maxCorners, qualityLevel, minDistance); - cv::ocl::oclMat src(100, 100, CV_8UC1, cv::Scalar::all(0)); + cv::ocl::oclMat src(100, 128, CV_8UC1, cv::Scalar::all(0)); cv::ocl::oclMat corners(1, maxCorners, CV_32FC2); detector(src, corners);