From 52535b356c2e14a572086ee2554e9f41156abdb7 Mon Sep 17 00:00:00 2001 From: Andrew Senin Date: Thu, 29 Jan 2015 21:29:57 +0400 Subject: [PATCH] Fix for assert in compute when subimage is used (see issue #4149) --- modules/objdetect/src/hog.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/objdetect/src/hog.cpp b/modules/objdetect/src/hog.cpp index c078c2deba..32a6a21b92 100644 --- a/modules/objdetect/src/hog.cpp +++ b/modules/objdetect/src/hog.cpp @@ -301,8 +301,10 @@ void HOGDescriptor::computeGradient(const Mat& img, Mat& grad, Mat& qangle, for( y = 0; y < gradsize.height; y++ ) { const uchar* imgPtr = img.ptr(ymap[y]); - const uchar* prevPtr = img.ptr(ymap[y-1]); - const uchar* nextPtr = img.ptr(ymap[y+1]); + //In case subimage is used ptr() generates an assert for next and prev rows + //(see http://code.opencv.org/issues/4149) + const uchar* prevPtr = img.data + img.step*ymap[y-1]; + const uchar* nextPtr = img.data + img.step*ymap[y+1]; float* gradPtr = grad.ptr(y); uchar* qanglePtr = qangle.ptr(y);