我无法提醒您注意计算机视觉工具箱的MATLAB文档有一种非常熟悉的感觉,就好像它是对OpenCV文档和示例的重写一样。
这是MATLAB工具箱文档: http://www.mathworks.co.uk/products/computer-vision/
这是opencv doc: http://docs.opencv.org/
现在我现在没有MATLAB,所以我无法检查。有谁知道它是否真的是MEX OpenCV?
干杯
答案 0 :(得分:9)
大多数情况下,MATLAB使用OpenCV库作为其CV工具箱。但是,我想要注意的是,计算机视觉工具箱还实现了一些独立于OpenCV库的功能,但工具箱提供的大部分功能都使用OpenCV功能。正如Amro在下面的评论中引用的那样:
与许多其他领域一样,MATLAB以易于使用的格式包装着名的库(想想BLAS / LAPACK,FFTW,SparseSuite,仅举几例!)。因此,虽然MATLAB确实在其CVST工具箱中使用了OpenCV,但它增加了OpenCV中没有的许多其他算法(用M代码或低级语言实现)。
此外,如果您已经在此平台中编写了代码,并且如果您正在开发MATLAB产品并希望充分利用OpenCV,那么您肯定能够将OpenCV代码与MATLAB接口。有关详细信息,请参阅此链接(Amro提供):http://www.mathworks.com/discovery/matlab-opencv.html
最终获得运行的计算机视觉工具箱中调用的一些MEX函数最终会调用OpenCV C ++方法。在安装MATLAB的文件夹中,如果您实际查看了bin/os/
文件夹,其中os
是您正在使用的操作系统(对我来说,它是maci64
libopencv
1}}),您将看到>> cd (matlabroot)/bin/
文件夹。在这个文件夹中,您将看到许多动态链接的库,这些库基本上是来自OpenCV的库,MATLAB MEX最终将作为CV工具箱访问的一部分。
要在MATLAB中导航,请在MATLAB命令提示符中输入:
libopencv
..然后进入适用于您的操作系统的文件夹,最后转到{{1}}文件夹。
您还将看到在调用OpenCV库中的函数时使用的OpenCV版本,并且版本号附加在每个文件的末尾。因此,如果您想将OpenCV用于任何MEX函数,最简单的方法是使用预先加载到MATLAB中的版本来避免任何编译/设置问题。有了这个,请确保您访问此版本的OpenCV的相应文档。
因此,对于使用OpenCV的工具箱中的那些功能,它实际上是一个三步过程: