Processing stereo video with visionworks

I would like to evaluate calculating the point cloud in ROS, on a Xavier. We are evaluating real-time measurement of the ocean wave surface using video, in a ROS environment. My first question is, is there an established way to use ROS / image in NVidia / Xavier to generate point clouds? The remaining part of this question is about my approach to integrate ROS based a visionworks example. Attached are the CMakeLists.txt, package.xml, and source code vx_pc_node.cpp files. The other files are from directory /usr/share/visionworks/sources/demos/stereo_matching/. The code vx_pc_node.cpp is a framework for converting the images to cv::MAT. Is this the correct approach to get the images processed by VisionWorks. Or, how should the code be modified to utilize the VisionWorks example?

I have ran the following commands

sudo apt install libglfw3-dev
cd /usr/share/visionworks/sources/
sudo make
cd ~/catkin_ws
catkin build

The error generated is

Errors     << vx_pc:make /home/john/catkin_ws/logs/vx_pc/build.make.014.log                                                                                          
/usr/bin/ld: /usr/share/visionworks/sources/libs/aarch64/linux/release/libovx.a(GStreamerEGLStreamSinkFrameSourceImpl.o): undefined reference to symbol 'pthread_create@@GLIBC_2.17'
//lib/aarch64-linux-gnu/ error adding symbols: DSO missing from command line

package.xml (708 Bytes) CMakeLists.txt (2.0 KB)
vx_pc_node.cpp (1.4 KB)

Hi @john_vorwald, you might want to check this post, it seems that someone else had previous used Visionworks in a ROS node:

Can you add a command to your CMakeLists.txt to link to pthread? See these posts about the ‘DSO missing from command line’ error you are getting: