libbpg - как передать байты вместо пути к файлу - PullRequest
0 голосов
/ 15 ноября 2018

Я хочу использовать libbpg библиотеку (написанную на C) в проекте C ++ (https://github.com/mirrorer/libbpg)

) Мне нужно передать байты изображения в качестве входных данных вместо абсолютного пути к файлу изображенияи мне нужен результат вывода в байтах (вместо ".png> .bpg" Мне нужны "байты> байты").

Например, я хотел бы захватить кадры с веб-камеры и преобразовать их в байты bpgа также передать эти байты по сети

main функция libbpg bpgenc.c принимает строку пути к файлу в качестве входного параметра

https://github.com/mirrorer/libbpg/blob/master/bpgenc.c#L2909

Любые предложения, какпередавать байты вместо имени файла?

Например, если камера возвращает байты изображения в формате BGR, то как я могу преобразовать их в Image из libbpg?

1 Ответ

0 голосов
/ 15 ноября 2018

Просто продолжайте углубляться в код, вы можете видеть, что main вызывает load_image:

2909: img = load_image(&md, filename, color_space, bit_depth, limited_range,

, что вызывает либо read_png (1456), либо read_jpeg (1459).Например, для png файл используется по адресу:

950: png_init_io(png_ptr, f);

, и, к счастью, есть такой вопрос: чтение изображения png в буфере

Итак, * * * * * * * * * * * * * * * * * * * * * * Ответы * * * * * * * * * * * * * * * * * * * * * * * * 10 * * * * * * * * * * * * * * * * * * * * * * * * * 10 * * * * * * * * * * * * * 10 * 10 * * 10.

Конечно, если все это слишком хлопотно, вы можете просто записать свои байты в файл и затем использовать библиотеку как обычно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...