So we have this Image processing course at the university and we'll be using OpenCV extensively. Problem is, OpenCV uses C++ but I'm much more fluent in C# than C++. I know that there are wrappers for OpenCV (OpenCVDotNet, SharperCV, EmguCV,...) But I don't know which to choose.
My questions are :
Note : I know that my question is a possible duplicate of this one but it's old (from 2008) and things may have changed.
I have not used EmguCV, but I have used OpenCV for a while now.
From SharperCV's website:
The Emgu CV.Net wrapper is our current recommendation if you want to use OpenCV.
And, OpenCVDotNet looks more like an academic sandbox, so if it were me, I would use EmguCV for any of my research projects that involved C#. Mainly because it is being actively maintained, and it has the most features of the available wrappers today.
I had tried EmguCV. The range of functionalities it supports is fine. But if your project is something in which the speed is an issue, then it would be better to brush up your C++ skills.
I do not know much about other wrappers. I was in your same position once. I worked in emgucv during my academics and had to shift to c++ in my profession.
Believe me, you wont find it too difficult to move onto C++.
As an update, I can corroborate the answers previously given.
I have used both OpenCV with C++ and the EMGU Wrapper for both research and work and I agree partially with most people.
EMGU CV can be easy to learn and your code will be much easier to understand, it will require less lines of code and there is a decent range of functions you can call. But it is not complete.
Many functions will not provide all the originally intended functionality that you will find with OpenCV 3.0 e.g. FindNonZero() does not work exactly the same as the function that is wrapping and SetValue() gave me a hard time throwing runtime errors difficult to debug.
On the other hand, OpenCV provides great support compared to any other Wrapper you might find online and you will be working with the most up-to-date libraries. OpenCV 3.1 is a great release and I found no problems running it on Xcode or Visual Studio.
Therefore, I would recommend anyone wanting to immerse themselves into Computer Vision and Image Processing to go straight for OpenCV C++. If you just want to work on less complex problems you can opt for EMGU (I cannot recommend others as I am not familiar).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With