Subsections

- Matchers
- Detectors Algorithm
- Selectable specifications

##
Description of Find Object Plugin

As in the standard OpenCV FindObj program, there are 5 detector methods and 2 matcher methods which can be selected. They detect features and match them as a rectangular projection. The matched region will be overlayed with a replacement image if replace object is enabled. This is done using a variety of feature detectors and region matches. The match works by creating sets of Feature points. These points are generated for both the source and reference object frames. Then the two sets are matched for Homography (a regional similarity).

###
Matchers

FLANN
  Fast Library for Approximate Nearest Neighbors
BF
  (flann not selected) Brute Force

###
Detectors Algorithm

SIFT
  Scale-Invariant Feature Transform
SURF
  Speeded-Up Robust Features Be aware that Surf is non-free and has been removed from versions of OpenCV being built. If you have used it in a past project, it could result in a SEGV crash.
ORB
  Oriented fast and Rotated Brief
AKAZE
  Accelerated Keypoint detector And descriptor Extractor
BRISK
  Binary Robust Invariant Scalable Keypoin
Don’t Calculate
  Do nothing

The CINELERRA-GG plugin has several additional features for ease of use and more flexibility. A description of parameters is outlined below.

Mode:
  - Square
  - Rhombus
  - Rectangle
  - Parallelogram
  - Quadrilateral (default)
Reset:
  to get back to the default values.
Algorithm:
  detector selections as described above.
Replace object:
  checked if replacing the object is the desired outcome.
Use FLANN:
  use the Matcher, or if unchecked just use brute force.
Draw match:
  will display a blue line around the matching object only for the purpose of verifying the placement. The starting point for the box is designated by a white outlined circle in corner #1.
Scene/object/replace layer:
  number designating the attachment track of each findobject plugin element.

After matching, the resulting projection corners are used to do reshaping. The general procedure is:

- Calculate centroid, translate center to 0, 0; check for bowties and rotation direction.
- Calculate replacement object corners using mode, central angles, scale, and aspect of the projection.
- Using the replacement, apply the inverse aspect, rotation, scaling, and translation as specified.

###
Selectable specifications

Aspect
  when set, the matching aspect ratio is applied, otherwise the original object aspect is applied.
Scale
  when set, the match surface area is used for scaling, otherwise the original surface area is used.
Rotate
  when set, the match orientation is used in the projection, otherwise the original orientation is used (orthonormal).
Translate
  when set, the match replacement is centered to the projection center, otherwise the original object center is used.

Once the replacement corners are calculated, the replacement object is overlayed to the scene frame.

Scene/Object/Replace Drag
  only 1 can be checked on at a time (and that includes counting the Title plugin drag box). The Drag boxes are faster alternatives to using the column dials.
Scene/Object/Replace columns of X/Y/W/H
  x and y positions along with width and height; 0÷100% + Replace ΔX and ΔY deltas for the Replace column.
Draw keypoints
  when enabled shows the detection points created by the feature detection and used in the matcher Algorithm calculation.
Draw scene/object/replace border
  displays each of the borders which helps to determine correctness.
Object blend amount
  can dampen (smooth) the corner motion from frame to frame to reduce jitters.