QImage 保存到本地
时间: 2023-08-09 17:05:49 浏览: 314
图片保存到本地
将 `QImage` 保存到本地文件可以通过以下步骤实现:
1. 将 `QImage` 转为 `cv::Mat`,这个步骤可以参考我之前的回答。
2. 将 `cv::Mat` 保存为图像文件,可以使用 `cv::imwrite()` 函数。示例代码如下:
```cpp
cv::Mat img; // 假设已经加载了一张图像到 img 中
QString filename = "test.png";
cv::imwrite(filename.toStdString(), img);
```
这里我们将 `cv::Mat` 对象 `img` 保存为名为 `test.png` 的 PNG 格式文件。`cv::imwrite()` 函数会根据文件名的后缀自动推断文件格式,如果需要保存为其他格式的文件,可以修改文件名的后缀。
3. 如果需要将保存的图像文件转为 `QImage`,可以使用以下代码:
```cpp
QString filename = "test.png";
QImage qimg(filename);
```
这里我们使用 `QImage` 的构造函数从文件中读取名为 `test.png` 的图像文件,并存储到 `QImage` 对象 `qimg` 中。注意,不同的操作系统可能对文件路径的格式有所不同,可以根据实际情况修改文件路径的格式。
4. 如果需要将 `QImage` 直接保存到本地文件,可以使用 `QImage::save()` 函数。示例代码如下:
```cpp
QImage qimg; // 假设已经加载了一张图像到 qimg 中
QString filename = "test.png";
qimg.save(filename);
```
这里我们将 `QImage` 对象 `qimg` 保存为名为 `test.png` 的 PNG 格式文件。`QImage::save()` 函数会根据文件名的后缀自动推断文件格式,如果需要保存为其他格式的文件,可以修改文件名的后缀。
阅读全文