From 1b339eb0d49a1bb14078d4209bfccf43226661c9 Mon Sep 17 00:00:00 2001 From: Vadim Pisarevsky Date: Tue, 8 Apr 2014 17:54:08 +0400 Subject: [PATCH] fixed slow down in getRectSubPix (original patch by Markus JR Mueller); removed some unused variables and functions --- modules/core/src/arithm.cpp | 2 ++ modules/core/src/mathfuncs.cpp | 1 - modules/core/test/test_countnonzero.cpp | 3 --- modules/imgproc/src/samplers.cpp | 2 +- modules/nonfree/src/sift.cpp | 15 --------------- modules/video/src/simpleflow.cpp | 15 --------------- 6 files changed, 3 insertions(+), 35 deletions(-) diff --git a/modules/core/src/arithm.cpp b/modules/core/src/arithm.cpp index ecc2ca064..40ff702b9 100644 --- a/modules/core/src/arithm.cpp +++ b/modules/core/src/arithm.cpp @@ -448,11 +448,13 @@ template struct OpNot T operator()( T a, T ) const { return ~a; } }; +#if (ARITHM_USE_IPP == 1) static inline void fixSteps(Size sz, size_t elemSize, size_t& step1, size_t& step2, size_t& step) { if( sz.height == 1 ) step1 = step2 = step = sz.width*elemSize; } +#endif static void add8u( const uchar* src1, size_t step1, const uchar* src2, size_t step2, diff --git a/modules/core/src/mathfuncs.cpp b/modules/core/src/mathfuncs.cpp index 12ba4fa5b..bbf5884f5 100644 --- a/modules/core/src/mathfuncs.cpp +++ b/modules/core/src/mathfuncs.cpp @@ -46,7 +46,6 @@ namespace cv { -static const int MAX_BLOCK_SIZE = 1024; typedef void (*MathFunc)(const void* src, void* dst, int len); static const float atan2_p1 = 0.9997878412794807f*(float)(180/CV_PI); diff --git a/modules/core/test/test_countnonzero.cpp b/modules/core/test/test_countnonzero.cpp index 176d324c9..0b8210322 100644 --- a/modules/core/test/test_countnonzero.cpp +++ b/modules/core/test/test_countnonzero.cpp @@ -52,9 +52,6 @@ using namespace std; #define sign(a) a > 0 ? 1 : a == 0 ? 0 : -1 -const int FLOAT_TYPE [2] = {CV_32F, CV_64F}; -const int INT_TYPE [5] = {CV_8U, CV_8S, CV_16U, CV_16S, CV_32S}; - #define MAX_WIDTH 100 #define MAX_HEIGHT 100 diff --git a/modules/imgproc/src/samplers.cpp b/modules/imgproc/src/samplers.cpp index d6cc8a56f..197a7ced6 100644 --- a/modules/imgproc/src/samplers.cpp +++ b/modules/imgproc/src/samplers.cpp @@ -172,7 +172,7 @@ void getRectSubPix_Cn_(const _Tp* src, size_t src_step, Size src_size, dst[j+1] = cast_op(s1); } - for( j = 0; j < win_size.width; j++ ) + for( ; j < win_size.width; j++ ) { _WTp s0 = src[j]*a11 + src[j+cn]*a12 + src[j+src_step]*a21 + src[j+src_step+cn]*a22; dst[j] = cast_op(s0); diff --git a/modules/nonfree/src/sift.cpp b/modules/nonfree/src/sift.cpp index 259e934ed..2112971e9 100644 --- a/modules/nonfree/src/sift.cpp +++ b/modules/nonfree/src/sift.cpp @@ -111,21 +111,6 @@ namespace cv /******************************* Defs and macros *****************************/ -// default number of sampled intervals per octave -static const int SIFT_INTVLS = 3; - -// default sigma for initial gaussian smoothing -static const float SIFT_SIGMA = 1.6f; - -// default threshold on keypoint contrast |D(x)| -static const float SIFT_CONTR_THR = 0.04f; - -// default threshold on keypoint ratio of principle curvatures -static const float SIFT_CURV_THR = 10.f; - -// double image size before pyramid construction? -static const bool SIFT_IMG_DBL = true; - // default width of descriptor histogram array static const int SIFT_DESCR_WIDTH = 4; diff --git a/modules/video/src/simpleflow.cpp b/modules/video/src/simpleflow.cpp index 66f4c41bd..20fc6b543 100644 --- a/modules/video/src/simpleflow.cpp +++ b/modules/video/src/simpleflow.cpp @@ -66,21 +66,6 @@ inline static float dist(const Vec2f& p1, const Vec2f& p2) { (p1[1] - p2[1]) * (p1[1] - p2[1]); } -inline static float dist(const Point2f& p1, const Point2f& p2) { - return (p1.x - p2.x) * (p1.x - p2.x) + - (p1.y - p2.y) * (p1.y - p2.y); -} - -inline static float dist(float x1, float y1, float x2, float y2) { - return (x1 - x2) * (x1 - x2) + - (y1 - y2) * (y1 - y2); -} - -inline static int dist(int x1, int y1, int x2, int y2) { - return (x1 - x2) * (x1 - x2) + - (y1 - y2) * (y1 - y2); -} - template inline static T min(T t1, T t2, T t3) { return (t1 <= t2 && t1 <= t3) ? t1 : min(t2, t3);