Cuda-Stitcher overview

From RidgeRun Developer Wiki



Previous: Overview Index Next: Overview/Projector







Cudastitcher is a GStreamer plug-in created by RidgeRun that merges multiple overlapping images into a panoramic image. The input images can come from N live cameras or video files overlapping horizontally and vertically in order to create a full panorama output.

Supported platforms

The following hardware platforms are currently supported:

  • PC (x86 / x64).
  • NVIDIA Jetson boards: Orin, TX1, TX2, Xavier AGX, Xavier NX and Nano.

Capabilities

The stitcher element supports raw video in the following formats:

Input

  • RGBA
  • GRAY8

Output

  • RGBA
  • GRAY8

Parameters

When using the stitcher, parameter acquirement is a crucial steps in order to get the expected output. This parameter is the homography list and can be obtained from tools provided within the stitcher itself.

Homography List

This parameter defines the transformations between pairs of images. It is specified with the option homography-list and is set as a JSON formatted string, the JSON is constructed automatically with the calibration tool.
Read the Calibration on how to calculate the homographies using the calibration tool.
In case of constructing the list manually read the JSON files guide to better understand its format and how to construct it based on individual homographies.

Stitching Example

This section showcases the stitching stages between two real images.

On the following image the two inputs are shown:

Image showing stitching process of two images


Both of these images need to have common features, such as the car and the tree; the algorithm will take these common features and obtain a homography which is used to transform the input images. An example of the matched features can be seen in the following image:


Image showing stitching process of two images


This transformation is only applied to one of the images, while the other is kept as a reference. In this example, the left image is kept as a reference while the right image is warped. The result is as follows:

Image showing stitching process of two images


Note that the stitch is quite evident due to different exposure and gain in the cameras; in the same region of the image, both have different intensities. This can be reduced by ensuring that both cameras run on the same parameters and using blending on the border:


Image showing stitching process of two images



Previous: Overview Index Next: Overview/Projector