Add engines::ZedNative class wrapping ZED SDK's TensorRT-optimized object detection. On every frame grab, detected objects (label, confidence, 3D position, 2D/3D bounding boxes) are serialized as a flat float32 array and sent as a new "objects" dora output with frame_id correlation to image_bgr. Extract shared env-var helpers into src/util/env.h and expose sl::Camera& via Camera::handle() for engine access. Closes #3
36 lines
952 B
CMake
36 lines
952 B
CMake
cmake_minimum_required(VERSION 3.21)
|
|
project(dora_zed LANGUAGES C CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_FLAGS "-fPIC")
|
|
|
|
include(DoraTargets.cmake)
|
|
|
|
set(ZED_DIR "/usr/local/zed" CACHE PATH "Path to the ZED SDK")
|
|
set(ZED_PATH ${ZED_DIR})
|
|
find_package(CUDAToolkit REQUIRED)
|
|
find_package(zed REQUIRED)
|
|
|
|
find_package(OpenCV REQUIRED)
|
|
|
|
link_directories(${dora_link_dirs})
|
|
link_directories(${ZED_LIBRARY_DIR})
|
|
|
|
add_executable(dora_zed src/main.cc src/zed/camera.cc src/engines/zed_native.cc ${node_bridge})
|
|
add_dependencies(dora_zed Dora_cxx)
|
|
|
|
target_include_directories(
|
|
dora_zed
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src
|
|
${dora_cxx_include_dir}
|
|
${dora_c_include_dir}
|
|
${ZED_INCLUDE_DIRS}
|
|
${OpenCV_INCLUDE_DIRS}
|
|
${CUDAToolkit_INCLUDE_DIRS}
|
|
)
|
|
|
|
target_link_libraries(dora_zed dora_node_api_cxx ${ZED_LIBRARIES} ${OpenCV_LIBS})
|
|
|
|
install(TARGETS dora_zed DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/bin)
|