Traditional Stereo matching (not machine learning based) and depth map calculation = NOTE that images might need to be scaled down to enable "real-time" performance.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them
1) ROS Noetic
2) Pull master version of cares_msgs
a) cd ~/catkin_ws/src
b) git clone https://github.com/UoA-CARES/cares_msgs.git
3) Compile both libraries
a) cd ~/catkin_ws
b) catkin_make
A step by step series of examples that tell you how to get a development env running
Clone the package into the catkin directory you are using, presumed here to be "~/catkin_ws"
cd ~/catkin_ws/src
git clone https://github.com/maraatech/traditional_stereo_ros.git
Build the package with catkin_make in the source directory
cd ~/catkin_src/
catkin_make
Tests to be added
Subscribes to stereo image pairs with corresponding stereo camera information and constructs a 3D point cloud. A scale factor can be applied to scale the size of images being processed to improve real-time performance.
Left and right image pairs being published by a stereo pair with stereo camera information. Topic names are all default names (left/right), they can be changed via setting parameters in the launch file and refer to topic names.
- sensor_msgs/Image
- left/image_rect_color
- right/image_rect_color
- cares_mgs/StereoCameraInfo
- left_right/stereo_info
Publishes the point cloud and depth map generated by the stereo pairs + stereo information.
- sensor_msgs/Image
- stereo_pair/stereo/image_color
- sensor_msgs/Image
- stereo_pair/stereo/depth
- sensor_msgs/CameraInfo
- stereo_pair/stereo/camera_info
- sensor_msgs/PointCloud2
- stereo_pair/stereo/points
Run using launch file as below.
roslaunch traditional_stereo_ros stereo_depth.launch
<?xml version="1.0"?>
<launch>
<arg name="ns" default="stereo_pair"/>
<arg name="left_image" default="left/image_rect_color"/>
<arg name="right_image" default="right/image_rect_color"/>
<arg name="stereo_info" default="stereo_info"/>
<arg name="scale" default="1.0"/>
<node name="traditional_stereo" pkg="traditional_stereo_ros" type="traditional_stereo" output="screen" ns="$(arg ns)">
<param name ="left_image" value="$(arg left_image)"/>
<param name ="right_image" value="$(arg right_image)"/>
<param name ="stereo_info" value="$(arg stereo_info)"/>
<param name ="scale" value="$(arg scale)"/>
</node>
</launch>