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 
>>
>>
>>
>>
>>
>>

Reply via email to