Image Stitching - Building Image Stitching

From RidgeRun Developer Wiki



Previous: Getting Started/Getting the code Index Next: User Guide







Dependencies

The stitcher requires the GstCuda plugin to work properly, and also depending on your setup, it may require the cuda-undistort element or the rr-projector plug-in, as represented in the diagram below.

The stitcher also requires the following packages:

  • OpenCV
  • Meson
  • GLib JSON
  • CppUTest
Dependencies diagram for the Stitcher
Dependencies diagram for the Stitcher

GstCUDA

If you already own a professional version of this plugin, skip to the cuda undistort element below.

To install this plugin follow the instructions found in the Installation guide

Cuda Undistort

This element is only required if the lenses you are using need distortion correction. If that is not the case, skip to the Meson dependency below.

To install this element, follow the Undistort installation guide.

RidgeRun Projector

This plug-in is only required if the camera's FOV covers 360 degrees. If that is not the case, skip to the Stitcher element below.
To install this plug-in, follow the Projector installation guide.


The image stitching library has the following dependencies:

Meson

The image stitching library makes use of the Meson build system. To correctly build this library you need to use the latest version of Meson:

First, make sure python dependencies and ninja are installed

sudo apt-get install python3 python3-pip python3-setuptools \
                       python3-wheel ninja-build

Then use pip3 install Meson directly from its repository.

sudo -H pip3 install git+https://github.com/mesonbuild/meson.git

GLib JSON

sudo apt install libjsoncpp-dev
sudo apt install libjson-glib-dev

CppUTest

sudo apt install libcpputest-dev

Building the project

The Image Stitching library must be built natively.

For the Jetson platforms

To build the project run the following commands.

meson build --prefix /usr/ -Docvcuda=enabled -Dgst-stitcher=enabled
ninja -C build
ninja -C build test
sudo ninja -C build install

For x86 platforms

To build the project run the following commands.

meson build --prefix /usr/ -Docvcuda=enabled -Dgst-stitcher=enabled Denable-nvmm=false
ninja -C build
ninja -C build test
sudo ninja -C build install

For additional customization, you may refer to the following options table:

`
Configure Option Description
-Denable-ocvcuda=true Compile the library with OpenCV with CUDA backend support
-Dprofile-code=true Compile the library enabling debug message with a processing time of the algorithm
-Denable-gst-stitcher=true Compile the library with the cudastitcher element
-Denable-eval=true Compile the evaluation version
--prefix /usr Set the installation path of the library
-Denable-nvmm=false Set NVMM support. For discrete GPUs must be false
Table 1. Image stitching configuration options (Meson)


Previous: Getting Started/Getting the code Index Next: User Guide