从Txt文件读取并转换为float mat opencv
我需要帮助。我正在从文本文件中读取数据。它有3列和100行。数据采用(x,y,z)格式。我想把x和y合并成一个Mat数据,把Z合并成另一个Mat数据 对于Z,这很简单,我创建了它的浮点矩阵。我分别读取x和y,目前我将其存储为浮点向量。如下面的代码所示从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
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);
}
}