opencv中的Mat数据如何与matlab中Matrix数据进行互相转换

opencv中的Mat数据如何与matlab中Matrix数据进行互相转换,第1张

opencv中的Mat数据如何与matlab中Matrix数据进行互相转换

在处理图像数据时,有时会需要在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);

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5503634.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-13
下一篇2022-12-13

发表评论

登录后才能评论

评论列表(0条)

    保存