Glad to hear interest in this package :) I have indeed started to work on getting the CUDA features into OpenCV.jl (this was reorganized/relabelled from gpu to CUDA).
My understanding is that OpenCV CUDA algorithms can use only a single GPU, and to utilize multiple GPUs, its necessary to distribute the work between several GPUs manually. I am experienced and not sure how to do this now with the Julia interface, but if you do know, I would be happy to collaborate on this. My main goal is to use OpenCV for real-time tracking applications (e.g., principal skeleton tracking), and using GPU (with up to 30x the speed for acquisition) would be invaluable. I have tested OpenCV with both boost C++ (multithreading) and GPU-accelerated approaches, and it seems to me that the GPU approach is most promising. One challenge however is that I found it very messy to compile OpenCV 3.0 with CUDA on OSX 10.9.5 and it seems to me that a number of people have reported bugs with the v3.0 build itself (at least on OSX). The second issue (as I am sure you know) is that for the GPU features to be worthwhile, you need a decent NVIDIA card and my GTX-Force 330M with a Computing Capability (CC) of 1.2 is not exactly amazing Hopefully this will change soon with a new Mac :) Since OpenCV is such a large API and it is used widely for so many applications, it will nice to hear from those interested here what features are worth expanding and which maybe less so. Max On Saturday, December 6, 2014 12:16:59 PM UTC+1, Simon Danisch wrote: > > Personal note: > I needed to do a lot of interactive 2D and 3D visualizations with results > from OpenCV and it was all just very cumbersome... > This was actually one of the primers for me to start searching for a > better language, in which you could do the 2D/3D visualizations, without > performance penalty and with a high degree of interactivity. > > Am Samstag, 6. Dezember 2014 11:44:45 UTC+1 schrieb Max Suster: >> >> >> Hi all, >> >> A few months ago I set out to learn Julia in an attempt to find an >> alternative to MATLAB for developing computer vision applications. >> Given the interest (1 >> <https://groups.google.com/forum/#!searchin/julia-users/OpenCV/julia-users/PjyfzxPt8Gk/SuwKtjTd9j4J> >> ,2 >> <https://groups.google.com/forum/#!searchin/julia-users/OpenCV/julia-users/81V5zSNJY3Q/DRUT0dR2qhQJ> >> ,3 >> <https://groups.google.com/forum/%23!searchin/julia-users/OpenCV/julia-users/iUPqo8drYek/pUeHECk91AQJ> >> ,4 >> <https://groups.google.com/forum/%23!searchin/julia-users/OpenCV/julia-users/6QunG66MfNs/C63pDfI-EMAJ> >> ) and wide application of OpenCV for fast real-time computer vision >> applications, I set myself to put together a simple interface for OpenCV in >> Julia. Coding in Julia and developing the interface between C++ and >> Julia has been a lot of fun! >> >> OpenCV.jl aims to provide an interface for OpenCV <http://opencv.org/> >> computer >> vision applications (C++) directly in Julia >> <http://julia.readthedocs.org/en/latest/manual/>. It relies primarily on >> Keno´s amazing Cxx.jl <https://github.com/Keno/Cxx.jl>, the Julia C++ >> foreign function interface (FFI). You can find all the information on my >> package at https://github.com/maxruby/OpenCV.jl. >> >> You can download and run the package as follows: >> >> Pkg.clone("git://github.com/maxruby/OpenCV.jl.git")using OpenCV >> >> >> For MacOSX, OpenCV.jl comes with pre-compiled shared libraries, so it is >> extremely easy to run. For Windows and Linux, you will need to first >> compile the OpenCV libraries, but this is well documented and links to the >> instructions for doing so are included in the README.md file. >> >> The package currently supports most of OpenCV´s C++ API; however, at this >> point I have created custom wrappings for core, imgproc, videoio and >> highgui modules so that these are easy to use for anyone. >> >> The package also demonstrates/contains >> >> - preliminary interface with the Qt GUI framework (see imread() and >> imwrite() functions) >> - thin-wrappers for C++ objects such as std::vectors, std::strings >> - conversion from Julia arrays to C++ std::vector >> - conversion of Julia images (Images.jl) to Mat (OpenCV) - though >> this has much room for improvement (i.e., color handling) >> >> Please let me know if there are any features you would like to see added >> and I will try my best to integrate them. In the meantime, I will continue >> to integrate more advanced algorithms for computer vision and eventually >> extend the documentation as needed. >> >> Cheers, >> Max >> >> >> >> >> >>
