diff --git a/openbr/CMakeLists.txt b/openbr/CMakeLists.txt index 046d074..b38cdfd 100644 --- a/openbr/CMakeLists.txt +++ b/openbr/CMakeLists.txt @@ -3,11 +3,6 @@ configure_file(${BR_SHARE_DIR}/version.h.in version.h) include_directories(${CMAKE_CURRENT_BINARY_DIR}) # Janus API -set(JANUS_BUILD_PP5_WRAPPER ${BR_WITH_PP5} CACHE BOOL "Build Janus implementation using PittPatt 5") -set(JANUS_BUILD_DOCS ${BR_BUILD_DOCUMENTATION} CACHE BOOL "Build Janus HTML Doxygen documentation") -mark_as_advanced(JANUS_BUILD_PP5_WRAPPER) -mark_as_advanced(JANUS_BUILD_DOCS) -add_subdirectory(janus) include_directories(janus/include) install(DIRECTORY janus/include DESTINATION .) @@ -34,6 +29,14 @@ set_target_properties(openbr PROPERTIES target_link_libraries(openbr ${BR_THIRDPARTY_LIBS}) add_cppcheck(openbr) +# Janus implementation +set(JANUS_BUILD_PP5_WRAPPER ${BR_WITH_PP5} CACHE BOOL "Build Janus implementation using PittPatt 5") +set(JANUS_BUILD_DOCS ${BR_BUILD_DOCUMENTATION} CACHE BOOL "Build Janus HTML Doxygen documentation") +mark_as_advanced(JANUS_BUILD_PP5_WRAPPER) +mark_as_advanced(JANUS_BUILD_DOCS) +set(JANUS_TEST_IMPLEMENTATION openbr) +add_subdirectory(janus) + # Install install(TARGETS openbr RUNTIME DESTINATION bin diff --git a/openbr/janus b/openbr/janus index 929bf94..7c80b69 160000 --- a/openbr/janus +++ b/openbr/janus @@ -1 +1 @@ -Subproject commit 929bf94d6002d68b0d9c7a0b98a9c210d86bb7e6 +Subproject commit 7c80b694f871bb474267c75c38da63d785011939 diff --git a/openbr/janus.cpp b/openbr/janus.cpp index 72a70b3..430b43c 100644 --- a/openbr/janus.cpp +++ b/openbr/janus.cpp @@ -5,18 +5,21 @@ #include "janus.h" #include "openbr_plugin.h" +// Use the provided default implementation of some functions +#include "janus/src/janus.c" + janus_error janus_initialize(const char *sdk_path, const char *model_file) { int argc = 1; - const char *argv[1] = { "br" }; - br::Context::initialize(argc, (char **)argv, sdk_path); + const char *argv[1] = { "" }; + br::Context::initialize(argc, (char**)argv, sdk_path); QString algorithm = model_file; if (algorithm.isEmpty()) algorithm = "FaceRecognition"; - br::Globals->setProperty("Algorithm", algorithm); + br::Globals->algorithm = algorithm; return JANUS_SUCCESS; } void janus_finalize() { br::Context::finalize(); -} \ No newline at end of file +} diff --git a/openbr/janus_io.cpp b/openbr/janus_io.cpp new file mode 100644 index 0000000..ba9d0ea --- /dev/null +++ b/openbr/janus_io.cpp @@ -0,0 +1,6 @@ +#ifdef BR_LIBRARY + #define JANUS_LIBRARY +#endif + +// Use the provided OpenCV I/O implementation +#include "janus/src/opencv_io/opencv_io.cpp"