Jump to content

Birds Eye View - Build and Installation Guide

From RidgeRun Developer Wiki

Follow us on: YouTube Twitter LinkedIn Email Share this page

Share This Page

⇦ How BEV Works/Birds Eye View and Libpanorama Home User Guide/Minimal Application ⇨


This page shows how to build Birds Eye View source code and validate its functionality using an example application. It assumes you have already purchased a license and received access to the source code. To learn how to obtain the source code, visit How to Get the Code.

Install the Dependencies

First ensure you have installed the following dependencies:

  • Git: To clone the repository.
  • Meson: To configure the project.
  • Ninja: To build the project.
  • JsonCPP dev files: For the parameter loading.
  • OpenCV dev files: For image loading, processing and displaying.
  • GStreamer dev files and plugins: (optional) for image loading.
  • QT5 dev files: (optional) for image displaying.
  • CppUTest dev files: (optional) for unit testing.
  • Doxygen, Graphviz: (optional) for documentation generation.
  • Wget, Unzip: (optional) to download and unpack the sample images.

In Debian-based systems (like Ubuntu), you can run:

sudo apt update
sudo apt install -y \
  libjsoncpp-dev \
  libopencv-dev libopencv-core-dev \
  libopencv-video-dev libopencv-highgui-dev libopencv-videoio-dev \
  libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
  gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-base \
  gstreamer1.0-libav gstreamer1.0-plugins-ugly \
  qtbase5-dev qtmultimedia5-dev libqt5multimedia5-plugins \
  git wget unzip libcpputest-dev doxygen graphviz \
  python3-pip ninja-build
sudo -H pip3 install meson

Build Steps

1. Start by cloning the project. The repository URL is provided by RidgeRun with the license purchase.

git clone git@gitlab.ridgerun.com:$YOUR_REPO/libpanorama
cd libpanorama

2. Configure the project by running the following (recommended):

CUDA Accelerated

CUDA acceleration is enabled by default. Use this option when building with NVIDIA-enabled systems.

meson setup builddir --prefix /usr/

Plain CPU

meson setup -Dnpp=disabled builddir --prefix /usr/

Note that there is nothing special about the name builddir, you can choose its value to your convenience. If you choose to change it, make sure you do it consistently throughout the remainder of the steps in this guide.


There are some configuration options you can use for customizing your build. For most builds changing these options is not necessary.

Advanced configuration options
Option name Possible values Description Default
examples enabled/disabled Whether to build or not the examples. enabled
tests enabled/disabled Whether to build or not the tests. enabled
docs enabled/disabled Whether to build or not the API docs. enabled
npp enabled/disabled Whether to use CUDA (NPP) acceleration or not. enabled
opencv enabled/disabled Whether to build or not OpenCV IO classes. enabled
gstreamer enabled/disabled Whether to build or not GStreamer IO classes. enabled
qt enabled/disabled Whether to build or not QT IO classes. enabled

To set values to the configuration options, use the syntax: meson setup -Doption1=value1 -Doption2=value2 builddir.

3. Build the project by running:

ninja -C builddir

4. Optionally, run the unit tests by executing:

ninja -C builddir test

5. Optionally, install the project by running:

sudo ninja -C builddir install

Validation Steps

The project includes assets to validate things are working as expected. This section provides the procedure to run the example application.


1. Download the sample images, if you haven't already.

cd samples
./download_samples.sh
cd ..

2. Run the example as:

./builddir/examples/birds_eye_view -p examples/birds_eye_view.json

You should see an output like the one below:


Expected result when executing the Birds Eye View example application succesfully
Expected result when running the example application

FAQ

Do I need a license before I can build Bird's Eye View?
Yes. This page assumes you have already purchased a license and received access to the source code repository. If you still need access details, see Birds Eye View/Getting Started/How to Get the Code.
Which build tools are required?
The guide uses Meson to configure the project and Ninja to compile it. You also need development packages for JsonCpp and OpenCV, while GStreamer, Qt5, CppUTest, Doxygen, Graphviz, Wget, and Unzip are optional depending on the features you want to build or test.
Can I build Bird's Eye View without CUDA?
Yes. The project can be built in a plain CPU configuration by disabling NPP support during the Meson setup step. This is useful when you are building on systems without NVIDIA CUDA acceleration.
When should I use the CUDA-accelerated build?
Use the default CUDA-accelerated configuration when building on NVIDIA-enabled systems that support NPP. This is the recommended option when you want the best performance from the BEV pipeline on supported hardware.
What is the difference between the CUDA and plain CPU build options?
The CUDA build uses NPP acceleration and is intended for NVIDIA-based platforms. The plain CPU build disables NPP and relies on CPU processing instead. Both follow the same overall build flow, but the CPU option is better for unsupported systems or simpler evaluation environments.
Can I customize which parts of the project are built?
Yes. The guide lists Meson configuration options that let you enable or disable examples, tests, documentation, OpenCV support, GStreamer support, Qt support, and CUDA acceleration. This helps you reduce dependencies or tailor the build to your environment.
How do I know whether the build worked correctly?
After building, you can validate the installation by downloading the sample assets and running the example application. If the example produces the expected birds eye output image, the build is working correctly.
What should I do if the build fails?
Please contact RidgeRun's support team with the log. The log is usually the fastest way to identify missing dependencies, incompatible options, or platform-specific issues.


⇦ How BEV Works/Birds Eye View and Libpanorama Home User Guide/Minimal Application ⇨



Cookies help us deliver our services. By using our services, you agree to our use of cookies.