Matlab是当前应用最为广泛的数学软件,可快速实现十分复杂的功能,减少开发时间,极大地提高工程分析计算的效率,但与其他高级程序(C、C++)相比,Matlab程序是一种解释执行程序,某些情况程序执行速性能不如C、C++。
C/C++语言是目前最为流行的高级程序设计语言之一。它可对操作系统和应用程序以及硬件进行直接操作,用C/C++语言明显优于其它解释型高级语言,但是相对于MATLAB编程难度较高,且MATLAB具有强大的数值计算等能力,可大大提升开发效率。
因此存在一种方案,就是采用混合编程,对于C++开发人员可使用Matlab的优势实现数学计算等C++开发效率较低的模块(比如服务器开发过程中的一些图像处理算法算法)来提高开发效率
C++调用MATLAB混合编程流程如下
- 环境部署
打开并运行Matlab软件,在Command Window窗口中输入mbuild -setup,然后会出现语句,是否安装编译器,选择n,因为机子上已经安装了C/C++/C#的编译器,选择VS2010,具体操作下图所示:
2. 编写.m文件
如下函数时完成图像的二值化功能:
- function imagedata=improcess(filename,threshold);
- imagedata=double