change VQA input/output format 70/256070/1
authorsangho park <sangho.g.park@samsung.com>
Mon, 29 Mar 2021 05:16:24 +0000 (14:16 +0900)
committersangho park <sangho.g.park@samsung.com>
Mon, 29 Mar 2021 05:18:12 +0000 (14:18 +0900)
 e.g) mv_barcode_assessment barcode.png
 2            # number of barcode
 123456789    # 1'st barcode
 987654321    # 2nd barcode

Change-Id: Id3017af1cf076a3338f66a0fe1c4497bc75c3166
Signed-off-by: sangho park <sangho.g.park@samsung.com>
test/assessment/barcode/CMakeLists.txt
test/assessment/barcode/assessment_barcode.cpp [moved from test/assessment/barcode/test_barcode.cpp with 80% similarity]

index a318365..36ff96b 100644 (file)
@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 2.6)
-SET(fw_name "mv_barcode_test_assessment")
+SET(fw_name "mv_barcode_assessment")
 
 PROJECT(${fw_name})
 
@@ -12,11 +12,11 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})
 INCLUDE_DIRECTORIES(${MV_CAPI_MEDIA_VISION_INC_DIR})
 
-FILE(GLOB MV_TEST_ASSESSMENT_SRC_LIST "${PROJECT_SOURCE_DIR}/test_barcode.cpp")
+FILE(GLOB MV_BARCODE_ASSESSMENT_SRC_LIST "${PROJECT_SOURCE_DIR}/assessment_barcode.cpp")
 
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE")
 
-ADD_EXECUTABLE(${PROJECT_NAME} ${MV_TEST_ASSESSMENT_SRC_LIST} ${MV_TEST_ASSESSMENT_INC_LIST} ${MV_CAPI_MEDIA_VISION_INC_LIST})
+ADD_EXECUTABLE(${PROJECT_NAME} ${MV_BARCODE_ASSESSMENT_SRC_LIST} ${MV_CAPI_MEDIA_VISION_INC_LIST})
 
 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${MV_BARCODE_DETECTOR_LIB_NAME}
                                       ${${fw_name}_LDFLAGS}
similarity index 80%
rename from test/assessment/barcode/test_barcode.cpp
rename to test/assessment/barcode/assessment_barcode.cpp
index 03e6399..975f177 100644 (file)
 #include <error.h>
 #include <argp.h>
 
-#define MAX_ARGS 3
-#define INDEX_MAX 4
-#define BARCODE_STRING_MAX 255
-#define RESULT_STRING_MAX 20
+#define MAX_ARGS 2
 
-static const char doc[] = "[VQA-barcode]\vmediavision barcode performance test\n\
- e.g) mv_barcode_test_performance barcode.png result.txt";
-static const char args_doc[] = "SOURCE ANNOTATION";
+#define NANO_PER_SEC ((__clock_t) 1000000000)
+#define NANO_PER_MILLI ((__clock_t) 1000000)
+#define MILLI_PER_SEC ((__clock_t) 1000)
+
+static const char doc[] = "[VQA-barcode]\vmediavision barcode assessment\n\
+ e.g) mv_barcode_assessment barcode.png\n\
+ 2            # number of barcode\n\
+ 123456789    # 1'st barcode\n\
+ 987654321    # 2nd barcode";
+static const char args_doc[] = "SOURCE";
 
 struct arguments
 {
@@ -41,10 +45,6 @@ struct arguments
        char *annotation;
 };
 
-#define NANO_PER_SEC ((__clock_t) 1000000000)
-#define NANO_PER_MILLI ((__clock_t) 1000000)
-#define MILLI_PER_SEC ((__clock_t) 1000)
-
 struct timespec diff(struct timespec start, struct timespec end)
 {
        struct timespec temp;
@@ -57,6 +57,7 @@ struct timespec diff(struct timespec start, struct timespec end)
        }
        return temp;
 }
+
 unsigned long gettotalmillisec(const struct timespec time)
 {
        return time.tv_sec * MILLI_PER_SEC + time.tv_nsec / NANO_PER_MILLI;
@@ -101,32 +102,12 @@ void barcode_detected_cb(
 {
        MEDIA_VISION_FUNCTION_ENTER();
 
-       struct arguments *arguments = (struct arguments *) user_data;
-       FILE *fp;
-       char buf[BARCODE_STRING_MAX + 1] = {0};
-       char result[INDEX_MAX][RESULT_STRING_MAX] = {"no_detect", "match", "no_match", "failed"};
-       unsigned int idx = INDEX_MAX -1;
-
-       if (number_of_barcodes == 0)
-               idx = 0;
-       else {
-               size_t message_size = sizeof(messages[0]);
-               fp = fopen(arguments->annotation, "rt");
-               if (fp != NULL) {
-                       if (fgets(buf, BARCODE_STRING_MAX, fp) != NULL){
-                               if (strncmp(messages[0], buf, message_size) == 0)
-                                       idx = 1;
-                               else
-                                       idx = 2;
-                       }
-                       fclose(fp);
-               } else {
-                       LOGE("Errors were occurred during opening the file!!! file : %s", arguments->annotation);
-                       idx = 3;
-               }
-
+       int i = 0;
+       printf("%i\n", number_of_barcodes);
+       for (i = 0; i < number_of_barcodes; ++i) {
+               const char *cur_message = messages[i];
+               printf("%s\n", cur_message);
        }
-       printf("%s|%s|%s", arguments->source, arguments->annotation, result[idx]);
 
        MEDIA_VISION_FUNCTION_LEAVE();
 }
@@ -179,13 +160,13 @@ void perform_detect(struct arguments *arguments)
 
        roi.width = image_width;
        roi.height = image_height;
-       err = mv_barcode_detect(source, mv_engine_config, roi, barcode_detected_cb, arguments);
+       err = mv_barcode_detect(source, mv_engine_config, roi, barcode_detected_cb, NULL);
        if (MEDIA_VISION_ERROR_NONE != err) {
                LOGE("Errors were occurred during barcode detection!!! code : %i", err);
        }
 out:
        if (MEDIA_VISION_ERROR_NONE != err)
-               printf("%s|%s|failed", arguments->source, arguments->annotation);
+               printf("-1\n");
 
        if (data_buffer != NULL) {
                delete [] data_buffer;
@@ -223,8 +204,6 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                else if(state->argc < MAX_ARGS)
                        argp_failure(state, 1, 0, "too few arguments");
                arguments->source = arg;
-               arguments->annotation = state->argv[state->next];
-               state->next = state->argc;
                break;
        default:
                return ARGP_ERR_UNKNOWN;
@@ -240,7 +219,7 @@ int main(int argc, char *argv[])
        struct timespec s_tspec;
        struct timespec e_tspec;
 
-       LOGI("Media Vision Test-Accuracy is launched.");
+       LOGI("Media Vision Assessment-Barcode is launched.");
 
        struct arguments arguments;
        argp_parse (&argp, argc, argv, 0, 0, &arguments);
@@ -251,9 +230,9 @@ int main(int argc, char *argv[])
 
        struct timespec diffspec = diff(s_tspec, e_tspec);
        unsigned long timeDiff = gettotalmillisec(diffspec);
-       printf("|%lums\n", timeDiff);
+       printf("%lums\n", timeDiff);
 
-       LOGI("Media Vision Test-Accuracy is closed.");
+       LOGI("Media Vision Assessment-Barcode is closed.");
 
        return 0;
 }