**已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。
我们不允许问题寻求有关书籍、工具、软件库等的推荐。你可以编辑问题,以便可以使用事实和引用来回答问题。
5年前关闭。
Improve this question
我已经看到有一些。opencvdotnet,SharperCV,EmguCV,一个在代码项目。
有没有人对这些有经验?我在Code Project上玩过一段时间,但是当我试图做任何复杂的事情时,我得到了一些讨厌的无法捕捉的异常(IidoE.Msgbox异常)。跨平台(支持Mono)会是最好的。
8条答案
按热度按时间tyg4sfes1#
我从opencvdotnet开始,但它已经不再被积极开发了,而且对我需要的功能(面部检测)的支持也不完善,我现在使用的是EmguCV:它 Package 了API的更大一部分,它背后的家伙对建议和请求React非常迅速。代码看起来很有趣,众所周知,它在Mono上工作。
我在我的博客上写了一个快速的getting-started guide。
7kqas0il2#
我们使用OpenCVSharp,google code网站是日文的,但是它使用了最新的OpenCV版本,并且在整个过程中实现了IDisposable。它似乎提供了比我们迄今为止看到的任何其他网站都要多的功能,并且仍然很活跃。它也有相当广泛的示例程序。
uelo1irk3#
NuGetMustHaves很好地总结了NuGet上的包,包括它们的构建日期和OpenCV修订版。
截至2023年1月24日:
EmguCV和OpenCvSharp是最近构建的两个软件包,似乎是未来更好的选择。
请注意,EmguCV使用GPL 3/Commercial双重许可证(source),而OpenCVSharp使用BSD 3条款许可证。换句话说,OpenCVSharp可免费用于商业用途,但EmguCV不是。EmguCV拥有上级的文档/示例/支持和更大的开发团队,尽管如此,在许多情况下,许可证是值得的。
值得考虑一下你未来的用例是什么。如果你只是想使用托管语言快速运行, Package 器是不错的。我是这样开始的。但是当我进入更重要的应用程序时,我发现构建python/C++应用程序有更好的性能和跨平台重用代码的更大潜力。
2admgd594#
我认为需要注意的是,最初的问题是在2008提出的,OpenCV 2.0是在2009发布的。2.0版本引入了一个C++ Package 器,它比OP遇到的旧C接口更容易使用。对于我的.NET项目,我将所有的图形操作都保留在原生C++中。
**试试这个:**创建一个C++/CLR DLL项目,链接到OpenCV库。OpenCV手册描述了如何为Windows C++ EXE做这个,同样的步骤也适用于C++/CLR DLL。然后当然DLL导出可从.NET EXE调用的方法。
要测试它,您应该能够将任何OpenCV示例合并到DLL中,只需稍加调整。(将.CPP文件添加到项目中,将main()函数转换为类成员,等等-您知道该怎么做......)“mat_mask_operations”示例可能是一个很好的测试候选对象。
nukf8bse5#
我认为最好的 Package 器是opencvsharp http://code.google.com/p/opencvsharp/
j9per5c46#
我使用EmguCV创建了一个NuGet包,以便于在C#中使用OpenCv。
在Visual Studio中搜索并添加myEmguCV.NetNuGet包。
https://www.nuget.org/packages/myEmguCV.Net
vqlkdk9b7#
SharperCV是我们选择的工具,它没有让我们失望,对于我们的robotics project。即使它目前被标记为废弃,代码是在真正的好形状,只需要很小的调整,以自定义它为您的需要。没有消息框,实际上非常明智的异常处理。
但是,由于互操作性层的原因,不能跨平台。
dnph8jn48#
我知道这个问题已经回答了很长时间,但我想补充的是,有一个非常好的 Package 器here。这是新版本的openCV Package 器,你尝试了code project。我已经尝试了几天,一切工作完美。而且,我得到了它的工作分钟。
我不知道与mono的兼容性,但在Visual Studio 2010下,它的工作就像一个魅力,并节省了我吨的时间和金钱(我的项目是商业和大多数的库是开放源码的许可证,不允许商业利用,除非发布代码)