MATLAB调用OpenCV2.4库函数的全过程及问题解决
2014-06-13 00:00
176 查看
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崩溃。
这是因为运行时库不一致造成的。我们用OpenCV时一般用的debug模式,所以在Matlab中也要设置成debug模式。将mexopts.bat中的编译选项中的/MD改为/MDd即可。如果不知道mexopts.bat,请看我前面的几篇文章。
网上关于Matlab调用OpenCV的配置过程大多是参考了这篇文章:
Connecting MATLAB with OpenCV
把这篇文章看完,就能配置完成了。不过这篇文章比较早了,用的OpenCV库是1.0版本的,现在都是2.4版本了。OpenCV1.0和2.0以上的版本相差很大,建议用高版本的OpenCV库。下面讲讲配置高版本OpenCV易出现的问题及解决办法。
错误一:
char16_t redefinition错误。这个简单,看我前面的文章。
错误二:
用mex filename.cpp 编译成功,但是运行时引起MATLAB崩溃。
这是因为运行时库不一致造成的。我们用OpenCV时一般用的debug模式,所以在Matlab中也要设置成debug模式。将mexopts.bat中的编译选项中的/MD改为/MDd即可。如果不知道mexopts.bat,请看我前面的几篇文章。
相关文章推荐
- MATLAB调用OpenCV2.4库函数的全过程及问题解决
- 运用ORACLE的OO4O类库函数解决调用存储过程向远程数据库上传超过32K图片失败的问题
- 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为(转)
- lamp使用php处理上传文件,调用move_uploaded_file函数遇到目录写权限问题及解决过程
- 在C#中调用Matlab函数出现的问题以及解决方法
- csharp编写界面,opencv编写类库,解决 Pinvoke过程中的参数传递和平台调用问题
- 在CCS中使用printf函数输出的问题和解决过程
- Linux内核模块导出后无法调用问题解决(模块间函数调用通讯)
- 域限定符解决子类中调用父类重名函数问题
- 熬了个通宵,终于把在ASP里调用存储过程不返回结果集的问题解决了。
- 解决MATLAB 图像处理中,blkproc 函数报错的问题
- 如何解决mid使用过程中出现的以下问题(无效的过程调用或参数: 'mid')
- asp.net调用word的过程中出现的问题及其解决方法
- 用内嵌汇编来解决运行时参数不确定的函数的调用问题
- OpenCV2.2调用highgui函数总是出错,一种可能的解决方法
- Linux内核模块导出后无法调用问题解决(模块间函数调用通讯)
- 怎么解决操作无效,原因是它导致对 SetCurrentCellAddressCore 函数的可重入调用问题
- Oracle 存储过程中调用自定义的函数问题?
- Matlab for Linux的安装笔记和启动过程中的问题解决
- Linux内核模块导出后无法调用问题解决(模块间函数调用通讯)