opencv读取txt文件,并赋值为Mat矩阵

目的:opencv读取txt文件,并将txt文件赋值给Mat矩阵
方法:利用fstream类来完成
关于fstream类请参考下面这篇文章:
http://blog.csdn.net/smstone/article/details/661483

下面给出代码:

// vv.cpp : 定义控制台应用程序的入口点。
//
//#include "stdafx.h"  

#include   
#include   
#include "cvaux.h" //必须引此头文件  
#include "cxcore.h"
#include   
#include   
#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<cout << "矩阵2的数据输出为:" << endl;
    cout << Ky2_Data << endl;

    waitKey(0);


    return 0;
}

如下就可以把数据输入到矩阵中,结果如下:
opencv读取txt文件,并赋值为Mat矩阵_第1张图片

本博客参考了这篇博客:
http://lib.csdn.net/article/opencv/28701

你可能感兴趣的:(OpenCV)