我知道函数cv::imwrite
可以将cv::Mat
压缩为Jpeg并将其保存到文件中。但现在我想将它保存到内存中,就像uchar
数组一样。所以,我可以将数组发送到另一个,它可以将数据写入jpeg文件。有没有人可以帮助我?
答案 0 :(得分:12)
因为您没有指定编程语言。我将用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);
答案 1 :(得分:0)
如果您选择的编程语言是Java,请使用:
Highgui.imencode("jpg", mat, buffer)
。