# 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
5. Change path to Sophus in include_directories (41 line)

### Building
1. `mkdir build && cd build`
2. `cmake ..`
3. `make`

### Running
1. You can run either from the IDE either from the terminal NDILib_Send_Video and NDIlib_Recv executables. 
2. You can also test the rest of the executables.
