Files
cv_networking_pipeline_linux/README.md

1.7 KiB
Raw Blame History

cv_networking_pipeline_linux

Receive by UDP, process with ORB-SLAM3, visualize the result, and send by OSC. Made for Linux. UPDATE: Implemented send/receive pipeline with the NDI protocol.

  1. Implemented sending and receiving by NDI + OpenCV. The code is in NDIlib_Send_Video.cpp and in the NDIlib_Recv.cpp

Installation

Requirements

  1. Install Gstreamer from the following tutorial: Как_устанавливать_GStreamer.pdf included in this repository. (NOTE: The PDF reader in Gitea can show broken files. If that's the case please use the other reader)

Changes to CMakeLists.txt

  1. Change ORB-SLAM3_DIR
  2. Set MY_GST_PATH to the GST_ROOT (Gstreamer installation directory)
  3. Set MY_NDI_SDK_PATH (it has to set the path to ndi_sdk_for_linux directory)
  4. Change Pangolin_DIR

Building

  1. Go to the Gstreamer installation path and source the environment: cd MediaFramework and then source deploy-linux/set-env.sh
  2. cd cv_networking_pipeline_linux and then mkdir build && cd build
  3. cmake ..
  4. make

Running

NDI_Send_Video is designed to work with mono-kitti dataset. On the server:

  1. cd build
  2. ./NDIlib_Send_Video /mnt/disk-small/podmivan/datasets/mono-kitti/00. You will see the image showed by OpenCV. Now you can press any key to send the frames.
  3. ./NDIlib_Recv Now you can see the sending/receiving of the frames. But the frames are broken. The cause is undefined (Although on Windows everything is working fine)

localization

  1. localization_ndi.cpp is not finished
  2. image transfer using Gstreamer. On the server: ./localization ~/podmivan/SLAM/ORB_SLAM3/Examples/Monocular/KITTI00-02.yaml ~/podmivan/SLAM/ORB_SLAM3/Vocabulary/ORBvoc.txt (? third argument)