|
|
|
@ -52,6 +52,7 @@ unsigned char ccblk[256] = { 34,17,2,17,19,19,2,17,36,36,2,36,19,19,2,17,51,51,2 |
|
|
|
|
36,19,19,2,32,66,66,2,66,19,19,2,66,36,36,2,36,19,19,2,66,51,51,2,51,19,19,2,51,36,36,2,36,19,19,2,32,49,49,2,49, |
|
|
|
|
19,19,2,49,36,36,2,36,19,19,2,49,51,51,2,51,19,19,2,51,36,36,2,36,19,19,2,49,66,66,2,66,19,19,2,66,36,36,2,36,19, |
|
|
|
|
19,2,66,51,51,2,51,19,19,2,51,36,36,2,36,19,19,2,34 }; |
|
|
|
|
#if CV_SSE2 |
|
|
|
|
static const CvPoint pickup[64] = { {7,6},{8,6},{7,5},{8,5},{1,5},{7,4},{8,4},{1,4},{1,8},{2,8},{1,7},{2,7},{3,7}, |
|
|
|
|
{1,6},{2,6},{3,6},{3,2},{4,2},{3,1},{4,1},{5,1},{3,8},{4,8},{5,8},{6,1},{7,1},{6,8},{7,8},{8,8},{6,7},{7,7},{8,7}, |
|
|
|
|
{4,7},{5,7},{4,6},{5,6},{6,6},{4,5},{5,5},{6,5},{2,5},{3,5},{2,4},{3,4},{4,4},{2,3},{3,3},{4,3},{8,3},{1,3},{8,2}, |
|
|
|
@ -76,23 +77,19 @@ static const uchar Log[256] = { (uchar)-255,255,1,240,2,225,241,53,3,38,226,133, |
|
|
|
|
157,143,169,82,72,182,215,191,251,47,178,89,151,101,94,160,123,26,112,232,21,51,238,208,131, |
|
|
|
|
58,69,148,18,15,16,68,17,121,149,129,19,155,59,249,70,214,250,168,71,201,156,64,60,237,130, |
|
|
|
|
111,20,93,122,177,150 }; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define dethresh 0.92f |
|
|
|
|
#define eincO (2 * dethresh) // e increment orthogonal
|
|
|
|
|
#define eincD (1.414f * dethresh) // e increment diagonal
|
|
|
|
|
|
|
|
|
|
static const float eincs[] = { |
|
|
|
|
eincO, eincD, |
|
|
|
|
eincO, eincD, |
|
|
|
|
eincO, eincD, |
|
|
|
|
eincO, eincD, |
|
|
|
|
999 }; |
|
|
|
|
|
|
|
|
|
#define Ki(x) _mm_set_epi32((x),(x),(x),(x)) |
|
|
|
|
#define Kf(x) _mm_set_ps((x),(x),(x),(x)) |
|
|
|
|
|
|
|
|
|
#if CV_SSE2 |
|
|
|
|
static const int CV_DECL_ALIGNED(16) absmask[] = {0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff}; |
|
|
|
|
#define _mm_abs_ps(x) _mm_and_ps((x), *(const __m128*)absmask) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
static void writexy(CvMat *m, int r, CvPoint p) |
|
|
|
|
{ |
|
|
|
|