OpenCV plugins

There are currently 6 OpenCV plugins hooked into Cinelerra static and dynamic tars with the most widely known being FindObj. The Find Object plugin searches a Scene for an Object and then the Object can be overlaid with a Replacement object. The other 5 are FlowObj, GaborObj, MoveObj, PuzzleObj, and StylizeObj. These plugins require the thirdparty OpenCV (Open Computer Vision) library. Of note for OpenCV is that the Surf algorithm is non-free and has been removed from the user supplied versions of OpenCV being built.

There are some potential pitfalls with using OpenCV to include:

  1. openCV code is constantly changing, making it difficult to keep the plugins up to date
  2. there is some confusion about licensing/patents for specific algorithms, notably Surf
  3. some parts don’t work all that well and it can be slow
  4. internally the colormodel is converted to greyscale, which means the color information is not used
  5. cmake is minimally required to be at version 3.5.1 for OpenCV version 4.2; therefore for some older verions of distros with a lower cmake version, OpenCV is only at 3.4.1; and in really old versions such as Ubuntu14 32/64 bit, it is not in the build at all

Because of the build size of OpenCV, the source is not included in the thirdparty directory. Building OpenCV adds a lot of storage demand (GB) to the CINELERRA-GG build tree, and its compile time is significant. For these reasons, findobject and the other 5 plugins are not included in System build packages. We recommend using the static library build which has the OpenCV plugins included for consistency and to avoid problems.

The CINELERRA-GG Community, 2021