相关疑难解决方法(0)

OpenCV cv :: Mat to std :: ifstream for base64 encoding

说实话,我很惊讶到目前为止没有人遇到过这种情况.我正在将一张来自OpenCV的图片加载到cv :: Mat中,在我通过套接字发送之前,我想要base64编码.

对于base64,我使用的是libb64,因为它是Debian/Ubuntu的原生,并且易于使用且速度非常快.编码函数将std :: ifstream作为参数,并输出std :: ofstream.

#include <opencv2/opencv.hpp>
#include <b64/encode.h>
#include <fstream>

using namespace cv;
Mat image;
image = imread( "picture.jpg", CV_LOAD_IMAGE_COLOR );

if ( image.data )
{
    std::ifstream instream( ???, std::ios_base::in | std::ios_base::binary);
    std::ofstream outstream;        

    // Convert Matrix to ifstream
    // ...

    base64::encoder E;
    E.encode( instream, outstream );

    // Now put it in a string, and send it over a socket...
}
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何填充cv :: Mat的内流.谷歌搜索,我发现我可以通过列和行迭代cv :: Mat,并得到每个(我假设的像素)RGB值:

for ( …
Run Code Online (Sandbox Code Playgroud)

c++ base64 opencv stream

6
推荐指数
1
解决办法
6565
查看次数

标签 统计

base64 ×1

c++ ×1

opencv ×1

stream ×1