提交 1b339eb0 编写于 作者: V Vadim Pisarevsky

fixed slow down in getRectSubPix (original patch by Markus JR Mueller);...

fixed slow down in getRectSubPix (original patch by Markus JR Mueller); removed some unused variables and functions
上级 a6ef45aa
...@@ -448,11 +448,13 @@ template<typename T> struct OpNot ...@@ -448,11 +448,13 @@ template<typename T> struct OpNot
T operator()( T a, T ) const { return ~a; } 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) static inline void fixSteps(Size sz, size_t elemSize, size_t& step1, size_t& step2, size_t& step)
{ {
if( sz.height == 1 ) if( sz.height == 1 )
step1 = step2 = step = sz.width*elemSize; step1 = step2 = step = sz.width*elemSize;
} }
#endif
static void add8u( const uchar* src1, size_t step1, static void add8u( const uchar* src1, size_t step1,
const uchar* src2, size_t step2, const uchar* src2, size_t step2,
......
...@@ -46,7 +46,6 @@ ...@@ -46,7 +46,6 @@
namespace cv namespace cv
{ {
static const int MAX_BLOCK_SIZE = 1024;
typedef void (*MathFunc)(const void* src, void* dst, int len); typedef void (*MathFunc)(const void* src, void* dst, int len);
static const float atan2_p1 = 0.9997878412794807f*(float)(180/CV_PI); static const float atan2_p1 = 0.9997878412794807f*(float)(180/CV_PI);
......
...@@ -52,9 +52,6 @@ using namespace std; ...@@ -52,9 +52,6 @@ using namespace std;
#define sign(a) a > 0 ? 1 : a == 0 ? 0 : -1 #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_WIDTH 100
#define MAX_HEIGHT 100 #define MAX_HEIGHT 100
......
...@@ -172,7 +172,7 @@ void getRectSubPix_Cn_(const _Tp* src, size_t src_step, Size src_size, ...@@ -172,7 +172,7 @@ void getRectSubPix_Cn_(const _Tp* src, size_t src_step, Size src_size,
dst[j+1] = cast_op(s1); 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; _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); dst[j] = cast_op(s0);
......
...@@ -111,21 +111,6 @@ namespace cv ...@@ -111,21 +111,6 @@ namespace cv
/******************************* Defs and macros *****************************/ /******************************* 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 // default width of descriptor histogram array
static const int SIFT_DESCR_WIDTH = 4; static const int SIFT_DESCR_WIDTH = 4;
......
...@@ -66,21 +66,6 @@ inline static float dist(const Vec2f& p1, const Vec2f& p2) { ...@@ -66,21 +66,6 @@ inline static float dist(const Vec2f& p1, const Vec2f& p2) {
(p1[1] - p2[1]) * (p1[1] - p2[1]); (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> template<class T>
inline static T min(T t1, T t2, T t3) { inline static T min(T t1, T t2, T t3) {
return (t1 <= t2 && t1 <= t3) ? t1 : min(t2, t3); return (t1 <= t2 && t1 <= t3) ? t1 : min(t2, t3);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册