From d153723905d5e594e37da4da34b5507a537197f6 Mon Sep 17 00:00:00 2001 From: Ankur Date: Tue, 23 Aug 2016 01:55:51 +0530 Subject: [PATCH 1/2] fixed ReadKey descriptor reading --- VocabLib/keys2.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/VocabLib/keys2.cpp b/VocabLib/keys2.cpp index e3a6061..f8ce583 100644 --- a/VocabLib/keys2.cpp +++ b/VocabLib/keys2.cpp @@ -239,7 +239,9 @@ int ReadKeys(FILE *fp, short int **keys, keypt_t **info) // short int *d = new short int[128]; float x, y, scale, ori; - if (fscanf(fp, "%f %f %f %f\n", &y, &x, &scale, &ori) != 4) { + //int cake = fscanf(fp, "%f %f\n", &y, &x); + int cake = fscanf(fp, "%f %f %f %f\n", &y, &x, &scale, &ori); + if (cake != 4) { printf("Invalid keypoint file format."); return 0; } @@ -251,23 +253,27 @@ int ReadKeys(FILE *fp, short int **keys, keypt_t **info) (*info)[i].orient = ori; } - char buf[1024]; + char buffer[1024]; + char *buf = buffer; + fgets(buf, 1024, fp); + int offset; for (int line = 0; line < 7; line++) { - fgets(buf, 1024, fp); - + if (line < 6) { sscanf(buf, "%hu %hu %hu %hu %hu %hu %hu %hu %hu %hu " - "%hu %hu %hu %hu %hu %hu %hu %hu %hu %hu", + "%hu %hu %hu %hu %hu %hu %hu %hu %hu %hu %n", p+0, p+1, p+2, p+3, p+4, p+5, p+6, p+7, p+8, p+9, p+10, p+11, p+12, p+13, p+14, - p+15, p+16, p+17, p+18, p+19); - + p+15, p+16, p+17, p+18, p+19, &offset); + p += 20; + buf += offset; } else { sscanf(buf, "%hu %hu %hu %hu %hu %hu %hu %hu", p+0, p+1, p+2, p+3, p+4, p+5, p+6, p+7); + p += 8; } } @@ -349,7 +355,7 @@ int ReadKeysGzip(gzFile fp, short int **keys, keypt_t **info) "%hu %hu %hu %hu %hu %hu %hu %hu %hu %hu", p+0, p+1, p+2, p+3, p+4, p+5, p+6, p+7, p+8, p+9, p+10, p+11, p+12, p+13, p+14, - p+15, p+16, p+17, p+18, p+19); + p+15, p+16, p+17, p+18, p+19 ); p += 20; } else { From c6e04eddb9af8189dc69ca940173475eb801ec72 Mon Sep 17 00:00:00 2001 From: Ankur Date: Tue, 23 Aug 2016 01:59:15 +0530 Subject: [PATCH 2/2] fixed ReadKey descriptor reading --- VocabLib/keys2.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/VocabLib/keys2.cpp b/VocabLib/keys2.cpp index f8ce583..92c9d12 100644 --- a/VocabLib/keys2.cpp +++ b/VocabLib/keys2.cpp @@ -239,9 +239,7 @@ int ReadKeys(FILE *fp, short int **keys, keypt_t **info) // short int *d = new short int[128]; float x, y, scale, ori; - //int cake = fscanf(fp, "%f %f\n", &y, &x); - int cake = fscanf(fp, "%f %f %f %f\n", &y, &x, &scale, &ori); - if (cake != 4) { + if (fscanf(fp, "%f %f %f %f\n", &y, &x, &scale, &ori) != 4) { printf("Invalid keypoint file format."); return 0; }