Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Txt文件读取并转换为float mat opencv_Opencv_Vector_Matrix - Fatal编程技术网

从Txt文件读取并转换为float mat opencv

从Txt文件读取并转换为float mat opencv,opencv,vector,matrix,Opencv,Vector,Matrix,我需要帮助。我正在从文本文件中读取数据。它有3列和100行。数据采用(x,y,z)格式。我想把x和y合并成一个Mat数据,把Z合并成另一个Mat数据 对于Z,这很简单,我创建了它的浮点矩阵。我分别读取x和y,目前我将其存储为浮点向量。如下面的代码所示 char buf[255]; float x, y; float label; vector<float> x_coord; vector<float> y_coord; Mat class_label(y_coord.s

我需要帮助。我正在从文本文件中读取数据。它有3列和100行。数据采用(x,y,z)格式。我想把x和y合并成一个Mat数据,把Z合并成另一个Mat数据

对于Z,这很简单,我创建了它的浮点矩阵。我分别读取x和y,目前我将其存储为浮点向量。如下面的代码所示

char buf[255];
float x, y;
float label;
vector<float> x_coord;
vector<float> y_coord;

Mat class_label(y_coord.size(), 1, CV_32FC1);

if(!inFile.eof())
{
    while (inFile.good())
    {
        inFile.getline(buf, 255);
        string line(buf);
        istringstream iss(line);
        iss >> x;
        x_coord.push_back(x);
        iss >> y;
        x_coord.push_back(y);
        y_coord.push_back(y);
        iss>> label;
        class_label.push_back(label);
    }
    inFile.close();
}

我真的被困在这里了,请帮帮我。

您可以直接填充垫子,无需辅助阵列
列车数据

for (int j = 0; j < 2; j++)
{
    for (int i = 0; i < x_coord.size(); i++)
    {
        int index = j + i * x_coord.size();
        training_data.at<float>(i, j) = x_coord.at(index);
    }
}
for(int j=0;j<2;j++)
{
对于(int i=0;i

您也可以在读取文件时执行相同的操作。有关更多信息,请阅读。

您真的想要2列单浮点数数据,还是一列CV_32FC2?2列单浮点数数据
for (int j = 0; j < 2; j++)
{
    for (int i = 0; i < x_coord.size(); i++)
    {
        int index = j + i * x_coord.size();
        training_data.at<float>(i, j) = x_coord.at(index);
    }
}