Gerador de miniaturas JPEG mais rápido para Linux

8

Estou procurando o conversor de imagens de linha de comando mais rápido para Linux, que pode ler uma imagem JPEG, dimensioná-la para no máximo 1366x768 e gravar uma imagem JPEG de qualidade 50. Algo parecido com isso, mas muito mais rápido que o ImageMagick:

$ convert -resize x768 -quality 50 foo42.jpg foo42.th.jpg
# takes 0m16.713s for my test image set

Eu também tentei isso:

$ <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

Então, eu gostaria de ter um programa, de preferência escrito em C, que integra o djpeg, uma versão de maior qualidade do pnmscale e cjpeg.

Acabei de encontrar swiggle (um programa C usando libjpeg), desativei algumas de suas funcionalidades eu não preciso do código fonte, e eu tenho:

$ swiggle -f -H 768 .
# takes 0m11.378s for my test image set, yields high quality results

Você tem outra sugestão? Eu acho que a maioria dos conversores de imagem usam libjpeg, então seria difícil obter resultados muito mais rápidos do que o swiggle.

    
por pts 24.02.2011 / 03:16

2 respostas

2

Eu resolvi esse problema baixando swiggle (um gerenciador de galeria de imagens JPEG em miniatura da linha de comando + HTML), e modificando sua fonte para minhas necessidades. Veja as medições de velocidade na questão (menos de 10% mais rápido que djpeg + pnmscale + cjpeg).

    
por 14.05.2011 / 19:36
11

A biblioteca mais rápida que usei até agora é definitivamente EPEG . Só pode criar miniaturas a partir de arquivos JPG, mas as cria muito rapidamente:

$ identify worldmap.jpg
worldmap.jpg JPEG 6400x3200 6400x3200+0+0 DirectClass 8-bit 6.85727mb 0.840u 0:02

Imagemagick:

$ time convert -resize 1536x768 -quality 50 worldmap.jpg im_thumb.jpg
# 2.93s user 0.23s system 85% cpu 3.718 total

EPEG:

$ time epeg -w 1536 -h 768 -q 50 worldmap.jpg epeg_thumb.jpg
# 0.31s user 0.01s system 79% cpu 0.404 total

Eu usei essa biblioteca para criar miniaturas para uma grande quantidade de imagens grandes realmente .

    
por 08.03.2012 / 21:14