opencv — c ++ конвертирует png в base64

Я нашел конвертировать PNG-файл в Base64, но он просит прочитать из потока файлов, как:

ostringstream sout;
istringstream sin;

// this is the object we will use to do the base64 encoding
base64 base64_coder;// now base64 encode the compressed data
base64_coder.encode(sin,sout);

У меня png в opencv конвертируется как:

                imencode(".png", im, buf);

когда я хочу конвертировать

    base64_coder.encode(buf,sout);

это просит поток ..

Мои знания C ++ ограничены, поэтому любая помощь приветствуется.

Цель для этого:

Мне нужно записать png изображения на mongodb, которые могут быть использованы meteorjs. Поэтому они просят закодировать base64. изображений.

Спасибо

РЕДАКТИРОВАТЬ: я это Cv :: Mat. OBJ. Я конвертирую его в PNG. Буф включает в себя PNG.

0

Решение

Я нашел :

auto base64_png = reinterpret_cast<const unsigned char*>(buf.data());
std::string encoded_png = "data:image/jpeg;base64,"+base64_encode(base64_png,buf.size());

заголовки в: GitHub

это решило мою проблему

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]