Earlier quoted context omitted.
Done a few projects with OpenCV over the years, and I agree it can be fun. However, it has a few issues: 1. Patented algorithms that are effectively impossible to license in a commercial setting. 2. Permuted API that change how identically named functions behave over versions. 3. Hardware CUDA version coupling deprecating support every major release. 4. Inconsistent and contradictory documentation in the constant sub…
Also, performance is generally pretty low; I've been on projects where we rewrote OpenCV code into more-or-less obvious hand-rolled code and won 5x perf. The abstractions are generally a bit too thick and oriented around single pixels (which also makes the API a bit too verbose for my taste).
To enable Intel TBB, CUDA, and CPU specific compiler optimizations... one will almost certainly need to re-build the library, and customize your application build.
Some tasks degrade in performance on a GPU, and others are 740 times faster... ymmv. =3