c++ 用vector创建的二维数组怎么用cv::FileStorage进行保存
时间: 2024-05-16 10:15:03 浏览: 27
你可以使用以下代码将vector创建的二维数组保存到XML或YAML文件中:
```c++
#include <opencv2/core.hpp>
#include <vector>
int main() {
std::vector<std::vector<int>> data = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
cv::FileStorage fs("data.xml", cv::FileStorage::WRITE);
fs << "data" << "[";
for (const auto& row : data) {
fs << "[";
for (const auto& value : row) {
fs << value;
}
fs << "]";
}
fs << "]";
fs.release();
return 0;
}
```
在此示例中,我们使用`cv::FileStorage`将`data`向量保存到XML文件`data.xml`中。我们首先打开文件并将其设置为写入模式。然后,我们使用`<<`运算符将向量写入文件。我们首先写入`"data"`,然后打开一个新的数组,并为每一行写入一个新的数组。对于每一行,我们将所有值写入该行的数组中。最后,我们通过写入`"]"`来关闭数组,并通过写入`"]"`来关闭`"data"`数组。
你也可以将`.xml`更改为`.yaml`,以将数据保存为YAML文件。