前期准备
使用matlab2018a和vs2015(先安装),网上一般将mex -setup作为第一步。首先在matlab命令行窗口(不需要考虑文件路径)输入mex –setup。出现
这里是警告,可以忽略。网上有的博客说,MATLAB和vs安装的先后顺序将影响使用,通过下面方法https://blog.csdn.net/xiamentingtao/article/details/77981336,可以解决问题不用重新安装。我是一次成型,没有验证真假。
例子
写一个例子,matlab调用vs程序进行矩阵运算。
先上代码后解释
(1) 建立1个test.cpp
#include <iostream>
#include "mex.h"
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
Mat mat1,mat2,mat3;
/*输入1*/
double *data;
int M,N;
data=mxGetPr(prhs[0]);//获取矩阵首地址
M=mxGetM(prhs[0]); //获取行