C++中Mat类型与CSV、xml文件的存取转换

本文介绍了在C++中利用OpenCV的机器学习模块CvMLData,实现Mat矩阵与CSV、XML文件之间的简单转换。重点讨论了如何将Mat类型保存到CSV文件以及如何从CSV文件读取回Mat类型,简化了数据处理过程。
摘要由CSDN通过智能技术生成

     最近在做机器学习方面的项目,经常涉及到将矩阵数据存储在表格中,然后又将表格中的数据读取进程序的操作,在网上找过一些相关的代码,将Mat矩阵保存到CSV文件中,然后再将CSV文件中的表格数据读取为Mat类型的数据,但是大多数代码比较复杂,而且不易理解,这里将目前用到的最简单的Mat与CSV相互转换的代码分享一下,同时以备后用。

1.将opencv的Mat类型保存到CSV文件中

void saveMat(cv::Mat inputMat,char* filename)//将mat矩阵保存到CSV文件中
{
	FILE* fpt = fopen(filename,"w");
	int rows = inputMat.rows;
	int clos = inputMat.cols;
	for (int i = 0; i < rows;i++)
	{
		for(int j = 0;j<clos;j++)
		{
			if (j < clos-1)
				fprintf(fpt,"%f,",inputMat.at<float>(i,j));
			else
				fprintf(fpt,"%f\n",inputMat.at<float>(i,j));
		}
	}
	fclose(fpt);

}

2.将CSV文件读取为Mat类型

这里主要用到了opencv中的机器学习模块用于处理数据的一个函数read_csv(),这个函数是CvMLData的一个函数,通过它可以很容易地将CSV文件读取进来。

    // returns:
    // 0 
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值