fixed slow down in getRectSubPix (original patch by Markus JR Mueller); removed some unused variables and functions

pull/2588/head
Vadim Pisarevsky 11 years ago
parent a6ef45aa13
commit 1b339eb0d4
  1. 2
      modules/core/src/arithm.cpp
  2. 1
      modules/core/src/mathfuncs.cpp
  3. 3
      modules/core/test/test_countnonzero.cpp
  4. 2
      modules/imgproc/src/samplers.cpp
  5. 15
      modules/nonfree/src/sift.cpp
  6. 15
      modules/video/src/simpleflow.cpp

@ -448,11 +448,13 @@ template<typename T> 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,

@ -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);

@ -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

@ -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);

@ -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;

@ -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<class T>
inline static T min(T t1, T t2, T t3) {
return (t1 <= t2 && t1 <= t3) ? t1 : min(t2, t3);

Loading…
Cancel
Save