将Mat压缩为Jpeg并将结果保存到内存中

问题描述 投票:9回答:2

我知道函数cv::imwrite可以将cv::Mat压缩为Jpeg并将其保存到文件中。但是现在我想将它保存到内存中,就像uchar的数组一样。所以,我可以将数组发送到另一个,它可以将数据写入jpeg文件。有人可以帮帮我吗?

c++ opencv jpeg mat
2个回答
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);

0
投票

如果您选择的编程语言是Java,那么使用:

Highgui.imencode("jpg", mat, buffer)

© www.soinside.com 2019 - 2024. All rights reserved.