MATLAB vs. OpenCV



我已经使用了OpenCV已有一段时间了,并且想知道切换到MATLAB是否是个好主意。据我所知,它们都与建立在基础OpenCV库上的MATLAB相同。OpenCV是开源,它是一个明确的优势,并在更多平台上支持。

我正在尝试针对瞳孔检测的算法,因此我需要确切的结果。

任何人都知道MATLAB使用的速度,处理或内置功能的任何优点?

如果您已经知道OpenCV,则请使用OpenCV。目前,OpenCV是用于计算机视觉的最全面的开源库,它具有较大的用户社区。OPENCV比MATLAB具有更多的计算机视觉功能。它的许多功能都在GPU上实现。该库正在不断更新(大约每3到4个月发布一次更新版本)。通常,C OPENCV代码的运行速度比MATLAB代码快(如果不够快,您可以通过优化源代码更快地制造它)。

MATLAB可用于快速原型制作,MATLAB代码非常容易调试。它具有良好的文档和支持。但是,正如其他人所提到的那样,MATLAB不是开源的,其许可证非常昂贵,而且程序也不可移植。MATLAB是一种解释的语言,对其性能产生负面影响。在计算机视觉中,性能很重要,尤其是当您进行实时视频处理时。它的程序也可以快速制定,但是您将不得不依靠高级功能(即用C专业编写的内置功能),MEX函数(您自己的C代码),并且您必须学习如何进行矢量化您的代码以达到不错的速度。

您尚未提及您的使用方式,因此我要假设您正在使用C ;如果您使用Python,请阅读此页面。

如果您打算使用GPU进行处理,那么我建议您坚持使用C ..当然,您可以对代码进行许多其他优化。

对于Matlab,也可以做一些相当基本的事情。

一天结束时,我要说的是,您越接近机器级别的语言,您的表现就会越好。但是,当然,使用C可能会很痛苦,因为有一个编写不优化的代码和内存泄漏的机会。因此,C 给出了最好的权衡。

hth

您的问题确实没有任何意义。

opencv 是用于执行计算机视觉任务的C 库。除C 外,还通过绑定提供了对其他编程语言的支持。

matlab 是一个完整的科学套件,由具有自己语言的大规模IDE组成。

如果您希望代码在MATLAB中运行,则编写MATLAB代码。但是,您还需要安装4GB IDE并支付相当昂贵的许可证。

我的个人选择是将OpenCV与Python语言绑定一起使用,因为这为我提供了一个不错的脚本界面来进行矩阵操作(可以说比Matlab的操作更混乱),同时仍然可以轻松访问OpenCV函数。

>

如果您对OpenCV的真正了解表示,您永远不会考虑从OpenCV切换到MATLAB。

您也可以将OpenCV与Python或CPP甚至Java等一起使用。
实际上,您不应仅考虑完成整个任务。
像OpenCV一样,其他库也存在。
例如,
numpy ->用于快速数字计算
matplotlib->显示图形窗口等,例如matlab。
Scipy ->用于快速科学计算。

如果您使用 your_programming_language opencv matplotlib numpy scipy 肯定会想知道OPENCV。而且,不用担心如何将这些图书馆交织在一起。只需提及他们的名字并进行实际编码即可。就这样。

最新更新