|
|
|
set(the_description "Deep neural network module. Allow load models and make forward pass")
|
|
|
|
set(OPENCV_MODULE_IS_PART_OF_WORLD OFF)
|
|
|
|
option(WITH_PROTOBUF "Build with libprotobuf" ON)
|
|
|
|
|
|
|
|
if(NOT WITH_PROTOBUF)
|
|
|
|
message(FATAL_ERROR "libprotobuf is required for dnn module")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
find_package( Protobuf REQUIRED )
|
|
|
|
|
|
|
|
if(EXISTS ${PROTOBUF_PROTOC_EXECUTABLE})
|
|
|
|
message(STATUS "Found PROTOBUF Compiler: ${PROTOBUF_PROTOC_EXECUTABLE}")
|
|
|
|
else()
|
|
|
|
message(FATAL_ERROR "Could not find PROTOBUF Compiler")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
ocv_warnings_disable(CMAKE_CXX_FLAGS -Wno-shadow -Wno-parentheses)
|
|
|
|
|
|
|
|
file(GLOB PROTO_FILES src/*.proto)
|
|
|
|
PROTOBUF_GENERATE_CPP(PROTO_HDRS PROTO_SRCS ${PROTO_FILES})
|
|
|
|
|
|
|
|
include_directories(include src/caffe)
|
|
|
|
|
|
|
|
ocv_add_module(dnn opencv_imgproc opencv_core opencv_highgui WRAP python matlab)
|
|
|
|
ocv_glob_module_sources(${PROTO_SRCS} ${PROTO_HDRS})
|
|
|
|
ocv_source_group("Src\\protobuf" FILES ${PROTO_SRCS} ${PROTO_HDRS})
|
|
|
|
ocv_module_include_directories(${PROTOBUF_INCLUDE_DIR})
|
|
|
|
|
|
|
|
ocv_create_module()
|
|
|
|
|
|
|
|
target_link_libraries(opencv_dnn ${PROTOBUF_LIBRARIES})
|
|
|
|
ocv_add_accuracy_tests()
|
|
|
|
ocv_add_perf_tests()
|
|
|
|
ocv_add_samples()
|