O jpegtran deve remover mais bytes que a faixa de mgrify?

2

Atualmente, estou usando mogrify -strip image.jpg para remover bytes indesejados das imagens, foi sugerido que eu poderia remover mais dados usando jpegran de libjpeg , algo como:

jpegtran -copy none -optimize -outfile image.jpg image.jpg

O problema que estou tendo - mesmo que seja um problema - é que jpegtran não parece realmente fazer nada que o mogrify ainda não esteja fazendo. Em todos os meus testes, o tamanho do arquivo continua o mesmo. Se eu remover a parte do mogrify do meu código e substituí-la por jpegtran , ela parece executar a mesma função.

Por exemplo:

  • imagem sem compactação: 300k
  • imagem com mogrify -strip + jpegtran : 272k
  • imagem com mogrify -strip apenas: 272k
  • imagem com jpegtran apenas: 272k

Mas fiquei com a impressão de que mogrify acabou de remover perfis / comentários de imagens e que jpegtran fez isso, além de compactar sem perda a imagem para diminuí-la. Estou faltando alguma coisa?

    
por robjmills 23.08.2011 / 16:28

1 resposta

3

A Wikipédia diz que jpegtran "otimiza a camada de codificação de Huffman", remove dados específicos de aplicativos extras (quais mogrify -strip faz) e converte entre formatos JPEG progressivos e não progressivos. Ele também tem a capacidade de cortar, girar / inverter e converter em escala de cinza sem descompactar e recomprimir a imagem.

Eu presumo que, se a camada de codificação de Huffman já estiver em seu estado ótimo, o jpegtran não pode fazer nada melhor.

    
por 23.08.2011 / 16:46