将opencv :: Mat(灰度)图像编码为.jpg格式并生成一个byte []

时间:2017-06-22 05:34:58

标签: java c++ opencv image-processing

我需要一些指导来将OpenCV Mat图像编码为.jpg格式并从中创建一个字节数组。此字节数组将用于使用未安装OpenCV库的其他应用程序重新创建原始图像。

基本上,我需要从c ++应用程序(安装OpenCV)创建Mat图像的字节数组,并使用java应用程序(无OpenCV)重新创建它。

到目前为止,我已经尝试了,

        std::vector<uchar> buffer;
        cv::imencode(".jpg", returnImage, buffer);
        uchar * byteArray = buffer.data();

此处buffer包含大量值,但buffer.data()仅包含buffer中的前几个值,然后是“不完整序列\ 340”。

我想将Mat图像转换为byte []而不将其重新保存到磁盘,并且创建的字节数组应该能够在Java中用于重新创建原始.jpg图像。

为实现这一目标的任何建议?

0 个答案:

没有答案