ищу и не могу найти идеальный вариант.
мне нужно обработать 100 гигабайт последовательности изображений 4K.
найденныйimagizer2на sourceforge. многопоточный, но не 64-битный (имеет ли значение?).
полагаю, самым быстрым будет использование библиотеки Intel IPP image core lib.
Я работаю на Windows, но если появится какой-нибудь безумно быстрый вариант Linux, я рассмотрю его (тесты производительности?).
включены тесты, которые я провел на тестовой партии из 100 файлов по 5 тыс. (4,3 МБ)
- изменение размера изображения для windows= 20сек
- пакетное изменение размера изображения= 30сек
- imagizer2= 64сек
- irfanПросмотр= 80сек
- Быстрый размер изображения= 110 сек.
- изображениеMagick-6.7.1-Q16x64= 149сек
решение1
Отличная статистика - спасибо за ссылки. Возможно, слишком поздно, но вы не упомянули результаты ImageResizer (из Codeplex), предложенные с Batch Picture Resizer выше. (не то же самое, что упомянутое "мусорное ПО") Я начал использовать его после того, как MS перестал обновлять свой Image Resizer. Но, конечно, у него нет потребностей в скорости и объеме - только чистое и быстрое изменение размеров для вложений электронной почты и т. п.
решение2
я используюIrfanПросмотрдля конвертации 1 ГБ файлов tiff в меньшие GIF-файлы каждую ночь. Занимает всего несколько минут.
Пример команды будет выглядеть так (я использую ее для преобразования изображений для моего цифрового фотодисплея)
"C:\Program Files (x86)\IrfanView\i_view32.exe" "C:\Pictures\Best\*.jpg" /resample=(720,540) /aspectratio /convert="C:\Temp\miniDisp\*_rsz.jpg"
Это изменяет размер всех файлов JPG из C:\Picutres\Best\ до 720x540 и сохраняет их как C:\Temp\miniDisp\OrgFilename_rsz.jpg.
Параметры командной строки, которые понимает IrfanView, можно найти в онлайн-справке (см. Индекс - Параметры командной строки) или в Интернете.здесь
решение3
Не уверен, как это будет выглядеть в сравнении с отделом бенчмарков, но вы можете датьImageMagickпопробуйте использовать инструменты "convert" или "mogrify". Похоже, что он хорошо использует 64 бита, количество ядер и т. д.
Все, что я знаю, это то, что он действительно мощный и полнофункциональный. Я могу изменять размер на месте или добавлять опции, такие как фильтры повторной выборки и преобразования типов файлов.
mogrify -format jpg -filter Cubic -resize 20%x20% rgb-?.png
решение4
Parallel можно использовать для ускорения пакетных преобразований с помощью imagemagick.
Уменьшите все *.jpg в каталоге так, чтобы ни высота, ни ширина не превышали 1080 пикселей:
parallel mogrify "{}" -resize 1080x1080 ::: *.jpg
Использование convert для создания отдельных файлов меньшего размера:
parallel convert "{}" -resize 1080x1080 "{.}-small.jpg" ::: *.jpg
Обратите внимание, что это относится к GNU parallel, а не к версии, упакованной в Debian moreutils, которая имеет другой синтаксис и меньше функций. См. страницу man для получения дополнительной информации о parallel.