将 Mat 压缩成 Jpeg 并将结果存入内存
Compress Mat into Jpeg And save the result into memory
我知道函数cv::imwrite
可以将cv::Mat
压缩成Jpeg并保存到文件中。但是现在我想把它保存到内存中,就像一个uchar
的数组。所以,我可以将数组发送到另一个数组,它可以将数据写入 jpeg 文件。有谁能帮帮我吗?
因为您没有指定编程语言。我会用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);
如果您选择的编程语言是Java,则使用:
Highgui.imencode("jpg", mat, buffer)
。
我知道函数cv::imwrite
可以将cv::Mat
压缩成Jpeg并保存到文件中。但是现在我想把它保存到内存中,就像一个uchar
的数组。所以,我可以将数组发送到另一个数组,它可以将数据写入 jpeg 文件。有谁能帮帮我吗?
因为您没有指定编程语言。我会用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);
如果您选择的编程语言是Java,则使用:
Highgui.imencode("jpg", mat, buffer)
。