339 votes

Recommandation pour la compression des fichiers JPG avec ImageMagick

Je veux compresser un fichier image JPG avec ImageMagick, mais ne peut pas obtenir beaucoup de différence dans la taille. Par défaut, la taille de sortie est plus grande que celle de l'entrée. Je ne sais pas pourquoi, mais après l'ajout de certains +options de profil et la qualité, je peux avoir une taille plus petite, mais toujours semblable à l'original.

L'image d'entrée est 255kb, l'image traitée est 264kb (à l'aide de +profil à supprimer des profils et réglage de la qualité à 70%). Est-il possible de compresser l'image à 150 ko au moins? Est-ce possible? Ce ImageMagick options puis-je utiliser?

612voto

Felipe Alcacibar Points 4822

J'utilise toujours:

  • la qualité dans le 85
  • progressif (comprobed de compression)
  • une très petite gausssian flou pour optimiser la taille (0,05 à 0,5 de rayon) dépend de la qualité et de la taille de l'image, ce qui optimise la taille de l'image jpeg.
  • Supprimer tout commentaire ou une balise exif

dans imagemagick devrait être

convert -strip -interlace Plane -gaussian-blur 0.05 -quality 85% source.jpg result.jpg

espérons que ce sera utile.

Lien Source: http://www.yuiblog.com/blog/2008/12/05/imageopt-4/

@Fordi dans les commentaires (n'oubliez pas les pouces jusqu'à son commentaire si vous le souhaitez): Si vous n'aimez pas le flou, l'utilisation de l'échantillonnage-facteur 4:2:0 à la place. Ce qu'il fait est de réduire la saturation du canal de résolution à la moitié, sans jouer avec la luminance de la résolution que vos yeux se fixent sur. Si vous souhaitez mieux la fidélité dans la conversion, vous pouvez obtenir une légère amélioration, sans une augmentation de la taille du fichier en spécifiant-définir jpeg:dct-method=float - qui est, l'utilisation la plus précise à virgule flottante transformée en cosinus discrète, plutôt que la valeur par défaut entier rapide version.

15voto

tuipveus Points 21

Une fois que j'ai besoin de redimensionner les photos de l'appareil photo pour le développement:

  • Original taille du fichier: 2 800 ko
  • Résolution: 3264x2448

Commande:

mogrify -quality "97%" -resize 2048x2048 -filter Lanczos -interlace Plane -gaussian-blur 0.05 
  • Résultat de la taille du fichier 753 ko
  • La résolution de 2048x2048

et je ne peux pas voir les changements en plein écran avec ma résolution d'écran de 1920x1080. Résolution de 2048 est le meilleur pour le développement de 10 cm de photos en qualité maximale de 360 dpi. Je ne veux pas bande.

edit: j'ai remarqué que j'ai même obtenir de bien meilleurs résultats sans effet de flou. Sans flou de la taille du fichier est de 50% de l'original, mais la qualité est meilleure (lorsque le zoom).

-3voto

Martin Beckett Points 60406

Si le fichier d’entrée est jpeg, puis il est déjà compressée, vous ne pouvez pas obtenir une sortie qui est plus petite sans réduire la taille ou la qualité

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X