IPC transfer for ZED images
This repository shows how to transfer ZED images through sl::Mat (ZED SDK) to another process.
This uses Boost Interprocess library for IPC transfer.
- First, download the latest version of the ZED SDK on stereolabs.com.
- For more information, read the ZED API documentation.
- Linux (Ubuntu or JetsonL4T)
- ZED SDK and its dependencies (CUDA)
- Boost library (
$sudo apt install libboost-all-dev
) - OpenCV library
- Windows has not been tested, although it should be compatible with few changes on cmake files
Open a terminal in the sample directory and execute the following command:
mkdir build && cd build
cmake .. && make
This will build 2 samples "Producer" and "Consumer".
Both are using the same class behind in a server or client configuration for easy integration
Start Producer first :
$ ./producer
Start consumer then :
$ ./consumer
Both programs will show the same left image of the ZED cameras. One is directly extracted from ZED SDK (producer), the other one is read from shared memory (consumer)
- Only tested with RGB images, but should work as-is for Floating points images as well (depth, etc...)
- Support 1 producer and multiple consumers up to 4 (but can modified using the
MAX_CONSUMER
define)
v0.3
- Add function to get the available shared memory space/name
- Add function to retrieve the version number
- Check support in Docker
- Benchmark and unit tests