c++ opencv cv::write()
时间: 2024-02-06 16:02:04 浏览: 209
opencv-builds:Android Studio的OpenCV和OpenCV-Contrib的内置版本!
`cv::write()` 是 OpenCV 中用于将数据写入文件的函数。它的函数原型如下:
```
bool cv::write(const String& filename, const cv::FileStorage& fs);
```
其中,`filename` 是要写入的文件名,`fs` 是一个 FileStorage 对象,用于指定写入文件的格式。具体来说,`cv::write()` 可以用于将以下类型的数据写入文件:
- 基本数据类型,如 `int`、`float`、`double`、`bool` 等;
- `cv::Mat` 类型的矩阵数据;
- `cv::Point`、`cv::Point2d`、`cv::Point3d`、`cv::Size`、`cv::Rect` 等类型的数据;
- `std::vector`、`std::list`、`std::map` 等 STL 容器类型的数据。
下面是一个使用 `cv::write()` 将 `cv::Mat` 对象写入文件的示例:
```cpp
cv::Mat mat = cv::Mat::zeros(3, 3, CV_32FC1);
cv::FileStorage fs("mat.yaml", cv::FileStorage::WRITE);
fs << "mat" << mat;
fs.release();
```
这个示例中,我们创建了一个 3x3 的单通道浮点型矩阵 `mat`,然后将其写入名为 `mat.yaml` 的文件中。注意,在写入完数据后,我们需要调用 `fs.release()` 来关闭文件。
阅读全文