CUDA & OpenCV

Hi guys,

I’m learning CUDA, and getting familiar with OpenCV. As far as I’m concerned , I suppose that CUDA can be applied to OpenCV, but I’ve found that most users are using CUDA with OpenGL. How useful is it to apply CUDA to OpenCV?? Are there lots of parallel algorithms?

In your opinion do you think that OpenCV will be an important field of research/ product development in the next 5/ 10 / 20 years???

Thanks for your Opinion!!

Have you seen GPUCV? https://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/

Also, correct me if I’m wrong but isn’t OpenCV pretty much orthogonal to OpenGL?

From the website

Some time ago I tried to compile their code, but I didn’t managed it. They use CUDA 1.1 in their code and there exist only some very simple filters in CUDA.

It seems that this project is dead and I didn’t like the code … some stuff is really horrible in there.

OpenCV is like the MKL but for image and video processing. It is initiated by intel and also optimized to achiev good speeds.

Image processing on the GPU makes not always sense, since the many algorithms are not compute intensiv enough, but there are some algorithms that are worth to be implemented in CUDA, like the SIFT algorithm.

Thanks for your feedback.

I’m particulary interestes in algorithms that have to do with Palm/FAce/ body part/ object & Color Recognition, something oriented towards Video Processing I think. And known algorithms that I can use for these types of tasks, to use a GPU?

HI all!
Firstable, sorry for my english.

I’m working with CUDA and OpenCV and I don’t know who I can get the value of a color pixel.
I have a cuda Array and then I bind a texture to the cudaArray. So, I have a texture with the image pixels and I can’t get the red, green or blue value of this pixels.

Can someone help me, please??

Thank you.

Hi,

If you’re willing to use CUDA with OpenCV then take a look at CUVI which is a CUDA Vision and Imaging Library and integrates seamlessly with your existing OpenCV project. It can also be used as a standalone library and also in addition to NPP. I’ve just written a blog on how to use CUVI with OpenCV for example how to read an image into IplImage structure and then pass the data pointer to CUVI’s RGB_to_Gray function which converts a tripple channel RGB image into gray scale. This guide is for starters and you can use all of CUVI’s functions with OpenCV in a similar way.

Hi,

If you’re willing to use CUDA with OpenCV then take a look at CUVI which is a CUDA Vision and Imaging Library and integrates seamlessly with your existing OpenCV project. It can also be used as a standalone library and also in addition to NPP. I’ve just written a blog on how to use CUVI with OpenCV for example how to read an image into IplImage structure and then pass the data pointer to CUVI’s RGB_to_Gray function which converts a tripple channel RGB image into gray scale. This guide is for starters and you can use all of CUVI’s functions with OpenCV in a similar way.

Hi, I have seen your benchmarks and interested in MATLAB stuff. Do these plots include the memcpy as well?

Hi, I have seen your benchmarks and interested in MATLAB stuff. Do these plots include the memcpy as well?

Yes the benches include both the kernel and round-trip mem copies. We’re very soon going to release CUVI v0.5 which will include examples on how you can seamlessly integrate CUVI functions into your current OpenCV projects. Stay tuned :)

Hi all!

OpenCV GPU module is being developed. It’s not released yet and maybe isn’t very stable, but you can try it if you want to.

Sources are available here https://code.ros.org/svn/opencv/trunk/opencv/modules/gpu/