12.1.2 Visual C++(www.cppentry.com)和MATLAB图像识别的接口设计
使用Visual C++(www.cppentry.com)和MATLAB进行图像识别编程(www.cppentry.com)时,目前主要使用基于COM的混合编程(www.cppentry.com)接口方式。其他的方式还包括使用MATCOM工具和调用MATLAB引擎的方式。
使用Visual C++(www.cppentry.com)调用MATLAB引擎的方式时,由于图像识别的算法程序处理通常比较长,所以采用Visual C++(www.cppentry.com)调用MATLAB引擎方式时,修改代码的工作量很大,另外有的函数也不能够正常使用。对于比较短的混合编程(www.cppentry.com)程序适合采用该方式进行开发。
使用MATCOM工具进行混合编程(www.cppentry.com)时,由于MATCOM只提供了600多个函数,所以在将MATLAB的M文件转换成.cpp文件时,不能编译如imshow()等一些MATLAB的内建函数,在编译时会给出错误信息,不能进行代码转换,另外转换后代码可读性不好,不容易理解。基于COM的混合编程(www.cppentry.com)接口方式实现简单,通用性强,而且几乎可以使用MATLAB的任何函数,因此在程序较大、调用工具箱函数或调用函数较多时推荐使用,这也是MATLAB公司推荐的使用方法。但是需要注意的是,该种开发方式不支持脚本文件,脚本文件使用时需要将其修改为函数文件。