MATLAB调用OpenCV2.4库函数的全过程及问题解决

MATLAB可以调用OpenCV的库函数这一点也不新鲜,网上关于MATLAB与OpenCV混合编程的文章也不少。先是配置MATLAB编译器,实现MATLAB与VS的混合编程。然后设置OpenCV的安装路径,include路径,lib路径以及DLL文件。跟用VS2010配置OpenCV差不多。因为OpenCV就是一个函数库,主要就是由include头文件,lib静态链接库,dll动态链接库这三部分组成的。

网上关于Matlab调用OpenCV的配置过程大多是参考了这篇文章:

Connecting MATLAB with OpenCV

把这篇文章看完,就能配置完成了。不过这篇文章比较早了,用的OpenCV库是1.0版本的,现在都是2.4版本了。OpenCV1.0和2.0以上的版本相差很大,建议用高版本的OpenCV库。下面讲讲配置高版本OpenCV易出现的问题及解决办法。

错误一:

char16_t redefinition错误。这个简单,看我前面的文章。

错误二:

用mex filename.cpp 编译成功,但是运行时引起MATLAB崩溃。

MATLAB调用OpenCV2.4库函数的全过程及问题解决_第1张图片

这是因为运行时库不一致造成的。我们用OpenCV时一般用的debug模式,所以在Matlab中也要设置成debug模式。将mexopts.bat中的编译选项中的/MD改为/MDd即可。如果不知道mexopts.bat,请看我前面的几篇文章。

你可能感兴趣的:(MATLAB调用OpenCV2.4库函数的全过程及问题解决)