.Net OpenCV包装是否值得使用?

所以我们在大学有这个图像处理课程,我们将广泛使用OpenCV。 问题是,OpenCV使用C ++,但我比C ++更流利C#。 我知道有OpenCV包装器( OpenCVDotNet , SharperCV , EmguCV ……)但我不知道选择哪个。

我的问题是:

  • 哪一个包含大部分/全部OpenCVfunction?
  • 它们甚至值得使用吗? (可能不经常更新,缺乏function或速度,……)
  • 或者我应该更好地刷我的C ++技能?

注意:我知道我的问题可能是这个问题的重复,但它已经过时了(从2008年开始),事情可能已经改变了。

我没有使用过EmguCV,但我现在已经使用过OpenCV了一段时间。

来自SharperCV的网站:
如果您想使用OpenCV,Emgu CV.Net包装器是我们目前的建议。

而且,OpenCVDotNet看起来更像是一个学术沙盒,所以如果是我,我会将EmguCV用于任何涉及C#的研究项目。 主要是因为它正在积极维护,并且它具有当今可用包装的最多function。

我曾尝试过EmguCV。 它支持的function范围很好。 但是如果你的项目速度是一个问题,那么最好提高你的C ++技能。

我不太了解其他包装纸。 我曾经在同一个位置。 我在学术期间在emgucv工作,不得不在我的专业中转向c ++。

相信我,你不会发现转向C ++太难了。

作为更新,我可以证实以前给出的答案。

我已经将OpenCV与C ++和EMGU Wrapper用于研究和工作,我同意大多数人的意见。

EMGU CV易于学习,您的代码将更容易理解,它将需要更少的代码行,并且您可以调用相当多的function。 但它并不完整。

许多函数不会提供OpenCV 3.0所能找到的所有原始function,例如FindNonZero()与包装函数完全不同,而SetValue()使我很难投入难以调试的运行时错误。

另一方面,与您在网上找到的任何其他Wrapper相比,OpenCV提供了很好的支持,您将使用最新的库。 OpenCV 3.1是一个很棒的版本,我发现在Xcode或Visual Studio上运行它没有任何问题。

因此,我建议任何想要沉浸在计算机视觉和图像处理中的人直接使用OpenCV C ++。 如果你只想处理不那么复杂的问题,你可以选择EMGU(我不能推荐别人,因为我不熟悉)。