The vz::Imagination library is split into two parts:
"MatManip") in the namespace vzThe class is written to be easy-to-use, where making a single call to vz::Imagination::get() or vz::Imagination::operator[]() obtains a simple image. Example vz::Imagination methods includes:
If you're unsure of what you need, a good place to start is with the enum known as vz::Imagination::EMatType. The method vz::Imagination::get() uses this enum to determine which image should be returned.
Meanwhile, the MatManip functions are a collection of stand-alone code, where most functions take a single parameter (the source image) and the output is a cv::Mat object. The vz::Imagination class makes extensive use of these function. Example MatManip functions include:
Since the vz::Imagination library relies on OpenCV, the underlying C++ structure used to pass images and other information between functions and methods is OpenCV's cv::Mat.
The relationship diagram between OpenCV, MatManip, and Imagination looks like this: