c++如何读写mat格式数据
时间: 2024-04-29 13:21:25 浏览: 6
在C++中,我们可以使用OpenCV库来读写MAT格式数据。OpenCV是一个开源的计算机视觉库,它提供了各种图像和视频处理函数以及其他计算机视觉相关的功能。
以下是一个简单的示例代码,演示如何读取和写入MAT格式数据:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
int main()
{
// 读取MAT格式数据
cv::Mat mat = cv::imread("data.mat", cv::IMREAD_UNCHANGED);
if (mat.empty()) {
std::cerr << "Failed to read data.mat" << std::endl;
return -1;
}
// 写入MAT格式数据
cv::FileStorage fs("output.mat", cv::FileStorage::WRITE);
if (!fs.isOpened()) {
std::cerr << "Failed to open output.mat" << std::endl;
return -1;
}
fs << "data" << mat;
fs.release();
return 0;
}
```
在上面的代码中,我们首先使用`cv::imread`函数读取MAT格式数据,然后使用`cv::FileStorage`类将数据写入MAT格式文件。`cv::FileStorage`类提供了类似于XML文件的语法来读写数据。
注意,我们需要包含`opencv2/opencv.hpp`头文件,并链接OpenCV库才能正确编译以上代码。