From f81240f57bf5be7817b4a47af8183e24d4eb5f26 Mon Sep 17 00:00:00 2001 From: kallaballa Date: Sat, 23 Aug 2025 19:48:04 +0200 Subject: [PATCH] stay on fast-path by using INTER_LINEAR resize when ALGO_HINT_APPROX is used --- modules/objdetect/src/hog.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/objdetect/src/hog.cpp b/modules/objdetect/src/hog.cpp index b83263304f..1c7c8f73cb 100644 --- a/modules/objdetect/src/hog.cpp +++ b/modules/objdetect/src/hog.cpp @@ -1668,9 +1668,16 @@ public: Size sz(cvRound(img.cols/scale), cvRound(img.rows/scale)); Mat smallerImg(sz, img.type(), smallerImgBuf.ptr()); if( sz == img.size() ) + { smallerImg = Mat(sz, img.type(), img.data, img.step); + } else - resize(img, smallerImg, sz, 0, 0, INTER_LINEAR_EXACT); + { + if(getDefaultAlgorithmHint() == ALGO_HINT_APPROX) + resize(img, smallerImg, sz, 0, 0, INTER_LINEAR); + else + resize(img, smallerImg, sz, 0, 0, INTER_LINEAR_EXACT); + } hog->detect(smallerImg, locations, hitsWeights, hitThreshold, winStride, padding); Size scaledWinSize = Size(cvRound(hog->winSize.width*scale), cvRound(hog->winSize.height*scale));