fixes #5066: laplacian: "y" may contain negative values
authorAlexander Alekhin <alexander.alekhin@itseez.com>
Mon, 14 Dec 2015 15:13:57 +0000 (18:13 +0300)
committerAlexander Alekhin <alexander.alekhin@itseez.com>
Mon, 14 Dec 2015 15:13:57 +0000 (18:13 +0300)
modules/imgproc/src/deriv.cpp

index b69656a..dacc23d 100644 (file)
@@ -858,7 +858,7 @@ void cv::Laplacian( InputArray _src, OutputArray _dst, int ddepth, int ksize,
         Mat src = _src.getMat(), dst = _dst.getMat();
         int y = fx->start(src), dsty = 0, dy = 0;
         fy->start(src);
-        const uchar* sptr = src.ptr(y);
+        const uchar* sptr = src.ptr() + src.step[0] * y;
 
         int dy0 = std::min(std::max((int)(STRIPE_SIZE/(CV_ELEM_SIZE(stype)*src.cols)), 1), src.rows);
         Mat d2x( dy0 + kd.rows - 1, src.cols, wtype );