Я ищу самый быстрый конвертер изображений командной строки для Linux, который может читать изображение JPEG, масштабировать его не более 1366x768 и писать качественное изображение JPEG 50. Что-то вроде этого, но гораздо быстрее, чем ImageMagick:
$ convert -resize x768 -quality 50 foo42.jpg foo42.th.jpg
# takes 0m16.713s for my test image set
Я тоже пробовал это:
$ <foo42.jpg djpeg | pnmscale -xysize 1366 768 | cjpeg -quality 50 >foo42.th.jpg
# takes 0m12.007s for my test image set, and has lower visual quality than ImageMagick
поэтому я хотел бы иметь программу, предпочтительно написанную на C, которая интегрирует djpeg, более качественную версию pnmscale и cjpeg.
Я только что нашел swiggle (a C программой, использующей libjpeg), я отключил некоторые ее функции, которые мне не нужны в исходном коде, и у меня есть:
$ swiggle -f -H 768 .
# takes 0m11.378s for my test image set, yields high quality results
У вас есть другое предложение? Я думаю, что большинство конвертеров изображений используют libjpeg, поэтому было бы трудно получить гораздо более быстрые результаты, чем swiggle.