Magick++ - чтение изображений JPEG2000

Я пытаюсь читать изображения JPEG2000 в Magick++ (C++ API ImageMagick). Чтобы прочитать изображение, я использую следующий код:

Image img("path/to/my/image.jp2");

Но когда я пытаюсь это сделать, ImageMagick выдает исключение и не загружает изображение. Я извлекаю изображения из файлов PDF. Может быть, что-то отличается от обычных изображений JPEG2000? Чтобы извлечь изображения, я читаю поток объектов Image, которые имеют JPXDecode-фильтр, и сохраняю их в файл.

Надеюсь, кто-нибудь может мне помочь!

1 ответ

ImageMagick использует пакет под названием JasPer для работы с JPEG2000. Согласно странице википедии на OpenJpeg, JasPer не полностью поддерживает спецификацию JPEG2000. У меня есть несколько извлеченных JPEG2000, которые прекрасно открываются в QuickTime, но не удается декодировать с помощью ImageMagick.

У меня были лучшие результаты с использованием OpenJpeg для декодирования Jpeg2000. Интерфейс менее гибкий, он конвертируется в PNG и BMP.

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