在处理图像数据时,有时会需要在VS中处理数据Mat数据或者直接matlab生成的Matrix,此时就会需要VS和MATLAB之间的转换,具体转换方法如下:
C++读写.mat文件_JimYe的专栏-CSDN博客_c++读取mat
VC++与Matlab混合编程之引擎操作详解(4)数据类型mxArray的操作_weixin_30478923的博客-CSDN博客qq. 数据类型mxArray的操作在上节的Matlab引擎函数中,所有与变量有关的数据类型都是mxArray类型。数据结构mxArray以及大量的mx开头的函数,广泛用于Matlab 引擎程序和Matlab C数学库中。mxArray是一种很复杂的数据结构,与Matlab中的array相对应,我们只需熟悉Matlab的array类型和几个常用的mxArray函数即可。在VC中,所...https://blog.csdn.net/weixin_30478923/article/details/98230784?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param其中,有图像转换为矩阵的代码具体如下:
double **La = new double*[rows];
for (int i = 0; i < cols; i++)
{
La[i] = new double[cols];
}
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
La[i][j] = src_Image.at(i, j);//其中ushort是根据图像数据是16位还是8位来指定的,UNIT16=ushort,unit8 = uchar,32位 = float
}
}
FILE *Outprint1 = fopen("需要存入的地址", "w");
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
if (j == cols- 1)//为了到达这一行后,另起一行存入图片
{
fprintf(Outprint1, " %ftn", La[i][j]);
}
else
{
fprintf(Outprint1, " %ft", La[i][j]);
}
}
}
fclose(Outprint1);



