Библиотека C++ для преобразования изображений JPEG/PNG в формат изображения RAW

Я попытался найти день для преобразования JPEG и PNG в формат изображений RAW (*. Raw формат), но не смог найти ни одного, и все результаты были RAW в JPEG/PNG. Наконец я решил спросить здесь, надеясь получить ответ.

Итак, я хочу конвертировать изображения формата JPEG и PNG только в формат изображения RAW (*. Raw), и для этого мне нужна библиотека C++, которая может выполнять эту работу. Кроме того, если вы можете предложить какой-то пошаговый процесс для достижения этой цели с использованием C++, будет полезно. Поскольку у меня нет опыта в этом, и я не начинаю.

Пожалуйста, направьте меня к тому же. Ваша помощь очень ценится.

Благодарность

2 ответа

Решение

"Raw" - это не совсем четко определенный формат.

В зависимости от того, с кем вы разговариваете, это может означать проприетарный необработанный формат производителя, например:

  • Формат NEF Nikon или
  • Формат Canon CR2 или
  • Формат Adobe DNG

Практически никакое программное обеспечение не поддерживает запись таких файлов. dcraw а также ufraw поддержите их чтение.

Или это может означать прямые байты RGB888 без заголовка или информации о размере. Многие библиотеки поддерживают это:

  • CImg, наверное, самый простой - ссылка
  • OpenCV может это сделать
  • ImageMagick Magick++ может это сделать
  • libvips может это сделать

На самом деле вам не нужно писать C/C++ для преобразования JPEG/PNG в необработанные байты RGB, вы можете просто использовать ImageMagick в командной строке:

magick input.png -depth 8 RGB:result.raw

Технически вы не можете конвертировать изображения JPEG/PNG в RAW. Потому что изображения RAW содержат много данных, снятых камерой. Изображение JPEG - это сжатый формат изображения, в котором скопирована большая часть информации. Таким образом, вы не можете написать программу для извращения скопированных данных и восстановления исходного изображения RAW. (Даже если вы написали программу, сгенерированный файл RAW не эквивалентен первоначально захваченному файлу RAW)

Другие вопросы по тегам