What is the difference between OpenCV CUDA vs. CV-CUDA

What is the difference between the two tools for computer vision capable of processing image on GPU:

There are certainly similarities and functional overlapping.

OpenCV is a software library that initially grew in a CPU-oriented CV (computer vision) space. Later, GPU functionality was added. It is managed by an organization that is fully independent from NVIDIA.

CV-CUDA is also a computer vision library, developed (much more recently) and managed by NVIDIA, and provides GPU-accelerated routines only. There is no CPU version.

I’m sure there are other differences and similarities as well.

Thank you for your answer.
Are there any properties based on which I would be able to decide which one to use for AI/ML preprocessing pipelines?

Do you want to do any of the preprocessing work on the CPU? Then use OpenCV

If you want to do the preprocessing work on the GPU, then maybe the best advice is to compare both, see which is faster or easier to implement. But given that NVIDIA is in control of CV-CUDA, my expectation is that the integration of it with other pipelines and software stacks provided by NVIDIA over time may be better than what you could easily accomplish with OpenCV.

You might also do a detailed comparison of the operators that are available in CV-CUDA, to see if there are any there that you need that are not duplicated in the CUDA version of OpenCV. in that case, the choice would be clear.

Hello @user129388 ,

One of the major differences would be at the product support and maintenance level, CV-CUDA, even though open source, is the official GPU-based library from NVIDIA that is developed and maintained by a dedicated set of engineers writing hand-optimized CUDA kernels. CV-CUDA has a specialized set of operations that are selected based on most commonly seen pre-processing ops in typical AI/ML pipelines and have a better performance in terms of latency.