Summary
Choosing the best computer vision algorithm for the job is an illusive process, which is the reason many engineers do not perform it. While published survey work on different choices provides benchmark performance, in many situations it doesn't model the particular system requirements an engineer might encounter, and new tests must be implemented. The major problem in testing algorithmic options is instrumentation code, which is an added work for engineers, and not always simple. OpenCV provides base APIs for algorithms in several vision problem domains, but the cover age is not complete. On the other hand, OpenCV has very extensive coverage of problems in computer vision, and is one of the premier frameworks to perform such tests.
Making an informed decision when picking an algorithm is a very important aspect of vision engineering, with many elements to optimize for, for example, speed, accuracy, simplicity, memory footprint, and even availability. Each vision system project has...