Быстрое преобразование из нескольких операционных систем JPEG-2000 в JPEG - PullRequest
3 голосов
/ 15 декабря 2011

Я работаю над веб-скриптом, который обрабатывает изображения с помощью ImageMagick.Он принимает соответствующие параметры, выполняет команду ImageMagick в командной строке или оболочке в зависимости от ОС и передает необработанные данные изображения обратно в сценарий.Язык веб-скрипта явно не уместен.

Простые варианты использования включают в себя: convert -resize 750 H:/221136.png -, который просто изменяет размер входного изображения до ширины 750 и выводит необработанные данные на консоль.Более сложные варианты использования включают вращение, изменение размера, кадрирование / панорамирование и рисование.

Скрипт отлично работает и работает довольно быстро для входов PNG, GIF и JPEG, даже при довольно больших (разрешениях 4000x5000).К сожалению, мои входные данные также включают JPEG-2000.10-15 мегабайт JPEG2000 занимает поистине безумное количество времени для обработки ImageMagick, порядка 10-15 секунд.Он не подходит для преобразования в реальном времени.

Я знаю, что быстрое преобразование JPEG-2000 в JPEG для веб-вывода возможно, потому что часть корпоративного программного обеспечения, с которой я работаю, делает это довольно быстро.летать.Я не уверен, какую библиотеку они используют - DLL /, поэтому они используют DL80JP2KLib.dll / .so.Если посмотреть на это, кажется, что компания под названием DataLogic делает это, но у них, похоже, нет каких-либо явно актуальных программ на их сайте.

В идеале я ищу решение (плагин?), Которое позволило бы ImageMagick конвертировать эти изображения высокого разрешения JPEG-2000 на лету, как это происходит с PNG, GIF или JPEG... или отдельную командную утилиту, которую я могу запустить до ImageMagick для преобразования JPEG-2000 в промежуточный формат, который ImageMagick может быстро обработать.

Серверы, на которых будет выполняться этот скрипт, имеют 32 гигабайта оперативной памяти имясистые процессоры.Предположим, что скорость конверсии важнее, чем эффективность использования ресурсов.Предположим также, что хотя мне нужно некоторое подобие качества, потеря изображения не является насущной проблемой.Лицензионные требования и / или цена не важны, за исключением того, что мне нужно иметь возможность самостоятельно проверить скорость на нескольких образцах файлов перед покупкой.Идеальное решение также (относительно) не зависит от ОС

Я попробовал приложение от Kakadu Software, и оно довольно быстрое, порядка 3-4 секунд, но это все еще недостаточно быстро.Если ниже невозможно, скажем, одну секунду, я заранее посмотрю на пакетное преобразование файлов.

Я загрузил репрезентативный файл (JPEG-2000, ~ 8 МБ) в MediaFire: http://www.mediafire.com/?yxv0j6vdwx0k996

1 Ответ

1 голос
/ 16 февраля 2012

В прошлом я обнаружил, что точное изображение намного быстрее.

http://www.exactcode.de/site/open_source/exactimage/

Марк Тайлер (первоначальный автор mtPaint) однажды разделил отличные части обработки графики на отдельную библиотеку (mtpixel ... поскольку заброшен как отдельный проект, но включен в mtcelledit @, где находится его код Google)

...