关于C++与Matlab混合编程时数据类型的转换问题,急需大神来拯救……

请教一下:
一个图像处理程序,用Opencv读取图像进来是Mat格式,但是我调用的函数中需要变量是double类型的,请问该怎么转化才把Mat类型转换成可以被该函数调用的形式,调用完之后输出的double类型又怎么转换成Mat从而把图像显示出来?
新手,望大神不吝赐教啊,查了很久资料也没弄清楚怎么做?

你是讲MATLAB的函数导出为dll,然后在C++中调用?你那个Mat参数是不是一个矩阵?如果是,那么在C++中,应该用double类型的指针来接收数据
比如在MATLAB中,函数为func(Mat m),那么在C++中调用用该是double m[x][y];func(m);

你要看看Mat类型到底是怎么定义的,你知道Mat的结构是怎么样的,你就知道如何处理了。Mat是矩阵吧,如果是,它应该就是一个二维数组。用一个二维数组接收数据就可以了。

Mat类型就是二维数组,不需要再转换,二维数组的元素保存着图像每个像素的数值。我不太明白你的意图,你是C++调用MATLAB的函数,还是MATLAB调用C++的函数。

感谢 要上天的拉布拉多 ,解决了我的问题~