Jump to content

RidgeRun Video Stabilization Library/Getting Started/Building the Library: Difference between revisions

no edit summary
No edit summary
Tag: Manual revert
No edit summary
Line 5: Line 5:
{{DISPLAYTITLE:Getting Started - Building the library|noerror}}
{{DISPLAYTITLE:Getting Started - Building the library|noerror}}


== Dependencies==
The RidgeRun Video Stabilization Library has the following dependencies for building from source:
=== Compulsory ===
A C++ compiler compatible with C++-17.
If GNUCompiler should be installed, we recommend the GNU Compiler >= 9.x.
Moreover, we use the meson building system. You can install it using:
<syntaxhighlight lang=bash>
# Install PIP
sudo apt install python3 python3-pip
# Install ninja
sudo apt install ninja-build pkg-config
# Install meson
sudo pip3 install meson
</syntaxhighlight>
=== Semi-Optional ===
The RidgeRun Video Stabilization Library is built on top of three different backends: OpenCV, OpenCL and CUDA. One of the three must exist in the system. If you are on a Debian-based system, you can install these dependencies using:
'''OpenCV'''
<syntaxhighlight lang=bash>
sudo apt install libopencv-core* libopencv-highgui* libopencv-imgproc* libopencv-imgcodecs* libopencv-dev
</syntaxhighlight>
'''OpenCL''': For non-NVIDIA platforms.
<syntaxhighlight lang=bash>
sudo apt install opencl-headers
</syntaxhighlight>
''It may depend on your system''
'''CUDA''': For NVIDIA-based platforms (in progress).
<syntaxhighlight lang=bash>
sudo apt install cuda-toolkit-*
</syntaxhighlight>
=== Optional ===
For documentation, development and plotting, you can install the following dependencies:
<syntaxhighlight lang=bash>
# For documentation
sudo apt install doxygen graphviz
# For plotting
sudo apt install libboost-filesystem-dev libboost-system-dev libboost-iostreams libgnuplot-iostream-dev
# For development
pip3 install pre-commit
sudo apt install clang-format cpp-check
</syntaxhighlight>
In the following sections, you can see how to install the dependencies mentioned before.
=== GStreamer Support ===
<pre>
Under Development for Q3 2024
</pre>
'''The process should be similar in other systems, not based on Debian.'''
== Building the project ==
Once the dependencies have been, you can run a default compilation with the following:
<syntaxhighlight lang=bash>
meson build --optimization 3 --prefix /usr -Denable-docs=disabled -Ddeveloper-mode=false
ninja -C build
sudo ninja -C build install
</syntaxhighlight>
For additional customization, you may refer to the following table of options:
<center>`
{| class="wikitable"
|-
! Configure Option !! Description !! Values
|-
| -Ddeveloper-mode || Enable developer mode. Enabled by default. || true, false
|-
| -Denable-docs || Enable the documentation generation. Enabled by default. || disabled, enabled
|-
| -Denable-eval || Enable the evaluation system. Disabled by default. || disabled, enabled
|-
| -Denable-tests || Enable the compilation of the tests. Enabled by default. || disabled, enabled
|-
| -Denable-examples || Enable the compilation of the examples. Enabled by default. || disabled, enabled
|-
| -Denable-plots || Enable the compilation of the plotter. Enabled by default. || disabled, enabled
|-
| -Denable-opencv || Enable the OpenCV backend compilation (CPU processing). Enabled by default. || disabled, enabled
|-
| -Denable-opencl || Enable the OpenCL backend compilation (GPU processing). Enabled by default. || disabled, enabled
|-
| -Denable-cuda || Enable the CUDA backend compilation (GPU processing). Enabled by default. || disabled, enabled
|-
| --prefix /usr || Set the installation path of the library. /usr/local by default  || PATH
|-
| --optimization 3 || Set the optimization level to the maximum. 0 by default || 0, 1, 2, 3
|}
<b>Table 1.</b> RidgeRun Video Stabilization Library configuration options (Meson)</caption>
</center>
''Note: If the dependency is not found, it will skip the compilation, and a message will be shown during the construction.''


<noinclude>
<noinclude>
{{RidgeRun Video Stabilization Library/Foot|Getting Started/Getting the Code|API Reference}}
{{RidgeRun Video Stabilization Library/Foot|Getting Started/Getting the Code|API Reference}}
</noinclude>
</noinclude>
1,654

edits

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