在某些情况下,我们需要使用Matlab C/C++混合编程的方法,或达到提高Matlab运行效率,或解决内存不足等问题。推荐阅读Matlab C/C++, Fortran, and Python API Reference,在阅读这篇手册的时候,我们可以重点关注如下一些api:
- mexFunction,void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
- mxGetData
- mxGetPr
- mxGetScalar
- mxGetNumberOfDimensions
- mxGetDimensions
- mxGetNumberOfElements
- mxCalloc
- mxFree
- mxCreateNumericMatrix
- mxSetData
- mxSetPr
- mxSetDimensions
- mxClassID
- mxGetClassID
- mexAtExit
- mexPrintf
- mexErrMsgIdAndTxt
掌握好这几个典型的api,基本上就可以开始享受matlab混合编程的乐趣了。不同于冗长的API讲解,ispforfun在这里提供一个干活,供大家理解这些api。
代码功能描述:对输入像素进行Gamma矫正。数学原理: