下面是一个使用OpenCV读取图片,并使用QZipWriter进行压缩的示例代码:
#include <opencv2/opencv.hpp>
#include <QFile>
#include <QDir>
#include <QZipWriter>
int main()
{
// 读取图片
cv::Mat image = cv::imread("path/to/image.jpg");
if (!image.empty()) {
// 创建 ZIP 文件
QString zipFilePath = "path/to/archive.zip";
QZipWriter zipWriter(zipFilePath);
// 将图片保存到临时文件
QString tempImagePath = QDir::temp().filePath("image.jpg");
cv::imwrite(tempImagePath.toStdString(), image);
// 添加临时文件到 ZIP 压缩包中
QFile file(tempImagePath);
file.open(QIODevice::ReadOnly);
zipWriter.addFile(file, "image.jpg");
file.close();
// 完成并关闭 ZIP 压缩包
zipWriter.close();
// 删除临时文件(可选)
QFile::remove(tempImagePath);
}
return 0;
}
请确保你已经安装了 OpenCV 和 Qt,并在编译过程中链接相应的库。注意替换代码中的图片路径和压缩文件路径为你自己的实际路径。
内容由零声教学AI助手提供,问题来源于学员提问