目的:opencv读取txt文件,并将txt文件赋值给Mat矩阵
方法:利用fstream类来完成
关于fstream类请参考下面这篇文章:
http://blog.csdn.net/smstone/article/details/661483
下面给出代码:
// vv.cpp : 定义控制台应用程序的入口点。
//
//#include "stdafx.h"
#include <stdio.h>
#include <cv.h>
#include "cvaux.h" //必须引此头文件
#include "cxcore.h"
#include <iostream>
#include <fstream>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/nonfree/nonfree.hpp"
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
fstream file1,file2;//创建文件流对象
file1.open("Matrix_ky1.txt");
file2.open("Matrix_ky1.txt");
Mat Ky1_Data = Mat::zeros(67, 4, CV_32FC1);//创建Mat类矩阵,定义初始化值全部是0,矩阵大小和txt一致
Mat Ky2_Data = Mat::zeros(67, 4, CV_32FC1);//同理
//将txt文件数据写入到Data矩阵中
for (int i = 0; i < 67; i++)
{
for (int j = 0; j < 4; j++)
{
file1 >> Ky1_Data.at<float>(i, j);
file2 >> Ky2_Data.at<float>(i, j);
}
}
cout << "矩阵1的数据输出为:" << endl;
cout << Ky1_Data << endl;
cout<<endl;
cout << "矩阵2的数据输出为:" << endl;
cout << Ky2_Data << endl;
waitKey(0);
return 0;
}
如下就可以把数据输入到矩阵中,结果如下:
本博客参考了这篇博客:
http://lib.csdn.net/article/opencv/28701