У меня есть контейнерный файл, который состоит из заголовка (текстовые данные) и группы JPG, разделенных на несколько десятых нуля.
В настоящее время у меня есть некоторый код на Python, который делает следующее:
0xFF
, 0xD8
) маркер;0xFF
, 0xD9
) маркер;feed
, из библиотеки подушек, функция, чтобы прочитать само изображение и сохранить, чтобы записать его в файл;Я хочу переписать его в C ++, но застрял с чтением JPG, я хочу полный аналог feed
функция: библиотека C ++, которая может читать JPG между началом и остановкой fstream
или же FILE *
,
Есть ли что-то подобное в boost::GIL
? Или любое другое предложение.
Я бы сам использовал библиотеку Qt, в частности QImageReader/QImageWritter. Они могут читать (и писать) QFile, который может быть использован для поиска (и в конечном итоге манипулирования) файла перед чтением изображения.
Qt также предоставляет мощную поддержку для создания GUI. Таким образом, вы можете легко отобразить, например, Предварительный просмотр изображения для пользователя, позволяя ему вводить файл или даже имя пути или легко выбирать их через виджет браузера файлов.
Если вы планируете более высокоуровневую работу в C ++, Qt — моя рекомендуемая библиотека общего назначения для первого голосования. Множество возможностей, как только вы создадите Qt-линкинг (что может быть немного сложнее в среде, отличной от linux-distro, но в любом случае выполнимо за несколько дней). Поначалу учебная база Qt выглядит огромной, но документация отличная, и кривая может быть довольно крутой.