2010-10-17 124 views
13

我即将开始的视觉图像处理的项目,并没有曾与MATLAB,Aforge,OpenCV的经验和想知道是否有人曾与这些不同的软件包任何经验。Matlab的VS Aforge VS OpenCV的

我也想知道这三个包都是最有效的我想的OpenCV但没有人有什么经验?

谢谢

杰米。

回答

13

您需要问自己的问题是哪个更重要 - 您的时间或计算机的时间。如果你的任务非常简单,那么你可以在MATLAB中编写代码并立即开始工作。 MATLAB是迄今为止最简单的开发工具 - 一种内置内存管理的脚本语言,一大串提供的函数以及一个用于在调试时显示和操作数据的优秀界面。

在另一方面,MATLAB是至少对许多任务的幅度比编译OpenCV的代码慢一个数量级。如果您使用intel性能原语库,则尤其如此。

如果你知道如何在Matlab代码,我建议编写和调试使用该语言的算法,然后将它们与OpenCV的移植到C/C++的速度。如果只有几个简单的函数需要加快速度,可以从MATLAB调用c代码,但在最初几次尝试时很难做到这一点,所以你最好改写一下在C完成代码完全/ C++

+0

嘿马克我对openCV和matlab以及整个图像处理都是全新的。我需要在使用网络摄像头跟踪眼球方面做些事情。你有什么建议?他们没有足够的openCV文档? – Sohaib 2013-07-21 19:13:00

2

首先,请详细说明您的项目需求。除了其他因素外,它对选择产生的影响最大 - 您的一般编程知识(如果您尚未处理dot net,但仅使用C++,则AForge不是一个好选择)。

通常,

两个AForge和OpenCV具有内置接口到.NET,和OpenCV还与C++,Python和更多。 Matlab可能更高效,但如果您没有任何经验,您还应该学习它的语法。考虑到它。

Matlab的大概有最大的多种功能,但它比其他项目更加复杂。 OpenCV和AForge本身有一些不同 - 请参阅StackOverflow question/ answers中描述的内容。

+0

该项目包括乘船旅行下来运河和检测其他船只和物体的前面安装一个摄像头。显然,第一个问题是处理水的视觉处理问题。 – Jamie 2010-10-17 12:45:12

2

我曾在去年两个类似的项目,在高速公路上的汽车。 Afaik,Matlab允许一次只处理一个图片帧(当然,您可以详细说明算法来计算流),但是使用Simulink可以直接处理流。

另一方面,我发现AForge更加友好和易于使用,因为您可以轻松地从GUI(不是那么快/容易)调整处理参数,以在Matlab/simulink中完成。

我会去Aforge.Net。如果您担心处理速度,速度也够快。 (使用640x480)

2

如果您在使用其中之一。净,很容易,你可以通过这个得到的信息:

1-matlab主要用于模拟项目而不是最终原型项目;我的数字:30;

如果你不需要像捕获图像,识别图像中的东西那样的循环过程或者...你会发现它非常好,因为它是易于使用但对单一过程有用;我的号码:50

3-opencv非常好的速度和有用的循环过程,例如,你可以从网络摄像头捕捉图像,并立即卡通化它没有任何延迟,但不容易使用as age。无论如何,我喜欢它的速度和许多功能,它给了我们大部分编程所需的东西;我的号码:80

Dr.Taha - Tahasoft.net