2008-09-15 42 views

回答

36

我在工作地点广泛使用OpenCV

它提供了一整套优秀的视觉处理工具。我建议通过维基阅读更详细的解释和更好的书面解释,我会给。

6

OpenCV相当成熟,覆盖了大部分计算机视觉领域。

3

我会很难给你关于技术答案哪个更好,我可以告诉你,我们有各种各样的工作的各种计算机视觉问题工作的博士,他们都使用和推荐的OpenCV。

1

如果我将OpenCV与openFrameworks进行比较 - 如何解决这个问题?哪个更好?在什么情况下等等?

正如我上面所说的,OF使用opencv(提供了一个包装器)。他们没有什么不同。我们试图提供一个简单的接口。

3

它可能已被暗示,但原始问题并未指定图书馆是FOSS。两个领先的商业库是:

两者都支持C++,并提供30天的免费试用。

1

很多人都推荐OpenCV,这很不错(我试过python包装,这对于快速原型设计来说没问题)。您可能还想看看gpuCV,它利用GPU中的大规模并行机制来实现计算机视觉。它的API非常类似于OpenCV的(大部分兼容),并且隐藏了用户/开发者的所有GPU编程。

11

OpenCV中是非常受欢迎的,毫无疑问,这是件好事,但 如果你是认真的C++和类似STL类容器, 这也是非常快的,那么这是值得考虑的:

libCVD

http://savannah.nongnu.org/projects/libcvd

项目首页http://www.edwardrosten.com/cvd/index.html

的git:http://git.savannah.gnu.org/cgit/libcvd.git

剑桥视频动态 - 用于图像,视频捕捉,显示,计算机视觉等的图书馆。对于线性代数框架,与TooN很好地集成。语言:C++

这是积极开发,并有很多有用的功能和算法,通常这些家伙让事情工作非常快。

这是LGPL。

它可以编译它在Win,Linux和MacOS X.

还有一个打算为Python提供的端口与这一个,允许原型计算机视觉算法使用Python和SciPy的速度非常快(我不确定它现在处于哪个阶段,但是在Python会议上有一篇关于它的文章。)

如果您想要实时执行任何操作,您应该认真考虑libCVD。

例如,Georg Klein的PTAM(Parallel Tracking And Mapping)框架使用这个库。

+4

该网站的最后一项似乎是从2005年开始的测试版? – 2010-03-21 21:24:26

+0

http://git.savannah.gnu.org/cgit/libcvd.git 显示相当频繁的提交 – 2013-03-19 12:59:06

0

OpenCV可能是最着名和非常成熟的。但一直以来最近转移到基于CUDA系统带来的性能优势, http://www.nvidia.com/object/cuda_home.html#

而且对于像C#更安全的语言中,Aforge .NET框架是相当不错的,

+0

基于OpenCV兼容GPU的图书馆https://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/ – 2010-10-13 20:54:34

1

虽然OpenCV中可能是最广泛使用的其他几个可能是值得考虑的:

http://cimg.sourceforge.net/是一个非常STL像,高度模板库。它包含在一个头文件中,并且通过引用返回设计意味着您可以将一组操作链接在一个语句中。它支持INRIA(法国国家研究实验室)

http://vxl.sourceforge.net/与OpenCV非常相似,但具有更多的C++设计。更像新的OpenCV2.0 C++版本。

2

我对Matrox Imaging Library有不好的经验。不推荐它,因为:

  1. 不是面向对象的,使更多的困难,保持& 排查/调试代码。

  2. 不好的文档/帮助手册,说明是 不清楚/不完整&缺乏编码的例子。例如混合使用一个短编码样本中的10个不同函数。

  3. 如果在.NET(C#)环境下使用,matrox会创建一个托管对象,使用后需要手动释放内存需要的内存条 。

  4. 昂贵。除了开发者许可证之外,还需要为其所有客户购买 的运行许可证。

  5. 许可证格式错误 - 使用USB加密狗密钥。如果您丢失了加密狗,您的许可证丢失了 。