【发布时间】:2016-02-05 17:34:38
【问题描述】:
我知道函数cv::imwrite可以将cv::Mat压缩成Jpeg并保存到文件中。但是现在我想将它保存到内存中,就像uchar 的数组一样。因此,我可以将数组发送到另一个数组,它可以将数据写入 jpeg 文件。有没有人可以帮帮我?
【问题讨论】:
我知道函数cv::imwrite可以将cv::Mat压缩成Jpeg并保存到文件中。但是现在我想将它保存到内存中,就像uchar 的数组一样。因此,我可以将数组发送到另一个数组,它可以将数据写入 jpeg 文件。有没有人可以帮帮我?
【问题讨论】:
如果您选择的编程语言是 Java,请使用:
Highgui.imencode("jpg", mat, buffer)。
【讨论】:
因为您没有指定编程语言。我将用 C++ 给你答案。
std::vector<uchar> buff;//buffer for coding
std::vector<int> param(2);
param[0] = cv::IMWRITE_JPEG_QUALITY;
param[1] = 80;//default(95) 0-100
cv::imencode(".jpg", mat, buff, param);
【讨论】: