1.ImportData()
把opencv中的Mat导入到matlab中,有个限制,只能导出一维数据到matlab,例:
Mat mat = imread("tmp.jpg");
matlab.ImportData(tmpMat,"face");
2.exportData()
把matlab的数据导入到opencv
3.Command()
在matlab环境中执行matlab字符串命令。
matlab.Command("face=uint8(mat);");
matlab.Command("imshow(mat);");
另外可以直接调用函数(.m文件),参数应该存在于matlab环境中,也就是用ImportData把opencv环境的Mat导入到matlab环境中,然后用Command调用带参数的函数即可。注意函数放的文件夹位置,默认在opencv中打开的matlab环境位置并不在opencv的可执行目录下,所以函数m文件的位置应在matlab环境下,可通过setpath命令把函数m文件加入matlab环境目录中。
例如:
Mat mat = GetData();//获得mat数据
matlab.ImportData(mat,"img");//把mat导入到Matlab
matlab.Command("img=uint8(img);");//转为uint8类型,因为Matlab默认为double类型,img没有转,显示图像为白,double类型把大于等于1的数据都看为1。
matlab.Command("test(img);");//执行 自写的test函数.
test.m内容:
function test(c)
imshow(c);