Common pitfalls and suggested solutions
OpenCV is very feature rich and provides multiple solutions and paths to resolve a visual-understanding problem. With this great power also comes hard work, choosing and crafting the best processing pipeline for the project requirements. Having multiple options means that probably finding the exact best performing solution is next to impossible, as many pieces are interchangeable and testing all the possible options is out of our reach. This problem's exponential complexity is compounded by the input data; more unknown variance in the incoming data will make our algorithm choices even more unstable. In other words, working with OpenCV, or any other computer vision library, is still a matter of experience and art. A priori intuition as to the success of one or another route to a solution is something computer vision engineers develop with years of experience, and for the most part there are no shortcuts.
There is, however, the option of learning from...