RidgeRun Video Stitching 2.0: OpenGL Support for Jetson, Dragonwing, and i.MX95

A single camera rarely captures everything an embedded vision system needs to see. Robotics, surveillance, and remote-operation systems often use several cameras with overlapping views. Turning those feeds into one useful panorama requires calibration, image transformation, blending, and enough processing capacity to keep up with the application.
RidgeRun’s Video Stitching solution has long served NVIDIA Jetson projects through CUDA acceleration. With the new LibPanorama-based Stitcher, we have added an OpenGL processing path and tested it on NVIDIA Jetson AGX Orin and Orin Nano, Qualcomm Dragonwing IQ-9075, and NXP i.MX95. Teams can now evaluate RidgeRun video stitching on these platforms while the original CUDA/GstCuda version remains available for Jetson pipelines that require NVMM integration.
What Does the New Stitcher Do?
The Stitcher combines calibrated, overlapping camera images into one panoramic output. It aligns the views, determines the panorama dimensions, and blends the regions where cameras overlap. That output can be displayed to an operator, recorded or streamed, or passed to a downstream computer-vision application.
Its LibPanorama foundation provides three processing options:
OpenGL is the GPU acceleration path used on Dragonwing and i.MX95 and is also available on supported Jetson systems.
CUDA is available with a compatible LibPanorama build on NVIDIA platforms.
CPU processing provides another option for development and integration.
Developers can integrate the new Stitcher into a GStreamer pipeline or use its standalone API. Its GStreamer elements support system-memory video and OpenGL textures, allowing teams to choose the path that suits their surrounding pipeline. The original Jetson Stitcher remains a separate option for applications built around GstCuda and NVMM.
From Camera Views to a Panorama
For a typical three-camera setup, the cameras are mounted with overlap between adjacent views. A calibration file describes how those views relate to one another. The Stitcher uses that information to transform and blend the images into a wider scene.
The same principle can be applied to different camera arrangements, but the inputs must match their calibration and camera order. Fisheye cameras need an additional projection step: RidgeRun’s Projector converts their views into a shared representation before alignment and stitching. Masks can also control which image regions participate in the blend.
This makes camera placement and calibration part of the solution, not just setup details. A fixed layout with sufficient overlap is a good starting point; cameras that move independently after calibration are a poor fit.
OpenGL Video Stitching Performance on Three Embedded Platforms
The table compares two GStreamer paths using the OpenGL backend and three 1920 × 1080 inputs. rrstitcher receives system-memory video, while rrglstitcher receives OpenGL-memory video.
Platform | GStreamer rrstitcher | GStreamer rrglstitcher |
NVIDIA Jetson AGX Orin | 85 FPS | 99 FPS |
Qualcomm Dragonwing IQ-9075 | 49 FPS | 57 FPS |
NXP i.MX95 | 15 FPS | 34 FPS |
These tests run at maximum throughput and discard the output; they do not measure a complete live camera-to-display application. The difference between the two columns shows why it is useful to evaluate the whole video pipeline, as well as the stitching stage, on the target hardware. The performance guide provides the configurations, methodology, and additional results for other resolutions and camera counts.
Where Could You Use It?
Consider a robot with cameras facing across its front and sides. Instead of asking an operator or vision application to interpret several separate feeds, the system can provide one wider view. The same approach can serve panoramic surveillance, teleoperation, industrial monitoring, and multi-camera 360° systems when paired with the appropriate projection workflow.
The best configuration depends on the cameras, their overlap, the target resolution, and what else the device must do with the video. Stitching does not automatically match exposure, white balance, or color between cameras, so those requirements should be considered when designing the complete system.
Explore Video Stitching with RidgeRun
The Video Stitching for Embedded Systems developer guide includes architecture, setup instructions, calibration guidance, GStreamer examples, reference outputs, and detailed benchmarks. Documentation for the original CUDA-based Jetson Stitcher remains available as well.
If you are designing a multi-camera product, contact RidgeRun to discuss your camera layout, target platform, and integration requirements. Our team can help determine the right Stitcher implementation and bring the panoramic output into your application.


