diff options
author | Tae-Young Chung <ty83.chung@samsung.com> | 2016-12-02 15:39:59 +0900 |
---|---|---|
committer | Tae-Young Chung <ty83.chung@samsung.com> | 2016-12-02 15:40:15 +0900 |
commit | 8e1ad8aaffc338fb178ce5e32ed5ad66bb555d69 (patch) | |
tree | c4841f30207679c2f7ef714791f3a97abb347095 | |
parent | c413f9c00c214bd8a529ecf28b85bbfd3bc8eee8 (diff) | |
download | mediavision-accepted/tizen/common/20161207.184503.tar.gz mediavision-accepted/tizen/common/20161207.184503.tar.bz2 mediavision-accepted/tizen/common/20161207.184503.zip |
Avoid throwing OpenCV's exceptionsubmit/tizen/20161207.075356accepted/tizen/wearable/20161208.012106accepted/tizen/tv/20161208.012006accepted/tizen/mobile/20161208.011802accepted/tizen/ivi/20161208.012159accepted/tizen/common/20161207.184503
Change-Id: I3b5acaa4c8559e30a9775e56e819a0e5da4c0ab9
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
-rw-r--r-- | mv_face/face/src/FaceRecognitionModel.cpp | 31 | ||||
-rw-r--r-- | packaging/capi-media-vision.spec | 2 |
2 files changed, 30 insertions, 3 deletions
diff --git a/mv_face/face/src/FaceRecognitionModel.cpp b/mv_face/face/src/FaceRecognitionModel.cpp index a0754a77..2b333129 100644 --- a/mv_face/face/src/FaceRecognitionModel.cpp +++ b/mv_face/face/src/FaceRecognitionModel.cpp @@ -23,6 +23,7 @@ #include <stdio.h> #include <unistd.h> +#include <fstream> namespace MediaVision { namespace Face { @@ -31,15 +32,41 @@ namespace { unsigned int DefaultUnisizeWidth = 200; unsigned int DefaultUnisizeHeight = 200; +bool isEmptyAlgorithmParam(const std::string& path) +{ + char valid[256] = ""; + std::ifstream ifs; + + ifs.open(path.c_str()); + + if (!ifs.is_open()) { + LOGE("[%s] Can't open file.", path.c_str()); + return true; + } + + ifs.getline(valid, 256); + ifs.close(); + + LOGD("Validation string: %s", valid); + if (strlen(valid) <= 0) { + LOGE("algorithm params is empty."); + return true; + } + + return false; +} + int CopyOpenCVAlgorithmParameters(const cv::Ptr<cv::FaceRecognizer>& srcAlg, cv::Ptr<cv::FaceRecognizer>& dstAlg) { - char tempPath[1024]; + char tempPath[1024] = ""; snprintf(tempPath, 1024, "/tmp/alg_copy_%p_%p", srcAlg.obj, dstAlg.obj); srcAlg->save(tempPath); - dstAlg->load(tempPath); + + if (!isEmptyAlgorithmParam(tempPath)) + dstAlg->load(tempPath); if (0 != remove(tempPath)) LOGW("Error removing serialized FaceRecognizer in %s", tempPath); diff --git a/packaging/capi-media-vision.spec b/packaging/capi-media-vision.spec index 59c1217f..2f44fe36 100644 --- a/packaging/capi-media-vision.spec +++ b/packaging/capi-media-vision.spec @@ -1,6 +1,6 @@ Name: capi-media-vision Summary: Media Vision library for Tizen Native API -Version: 0.3.22 +Version: 0.3.23 Release: 1 Group: Multimedia/Framework License: Apache-2.0 and BSD-2.0 |