Je veux compresser un fichier image JPG avec ImageMagick mais je ne peux pas obtenir beaucoup de différence de taille. Par défaut, la taille de sortie est plus grande que l'entrée. Je ne sais pas pourquoi, mais après avoir ajouté des options de profil + et défini la qualité, je peux obtenir une taille plus petite mais toujours similaire à l'original.
L'image d'entrée est de 255 Ko, l'image traitée est de 264 Ko (en utilisant + profil pour supprimer les profils et définir la qualité à 70%). Existe-t-il un moyen de compresser cette image à 150 Ko au moins? Est-ce possible? Quelles options ImageMagick puis-je utiliser?
image-processing
imagemagick
Javis Perez
la source
la source
Réponses:
J'utilise toujours:
dans imagemagick devrait être
ou dans la version la plus récente:
j'espère que cela vous sera utile.
Lien source: http://www.yuiblog.com/blog/2008/12/05/imageopt-4/
De @Fordi dans les commentaires (n'oubliez pas de lever le pouce si vous le souhaitez): Si vous n'aimez pas le flou, utilisez
-sampling-factor 4:2:0
plutôt. Cela permet de réduire de moitié la résolution du canal de chrominance, sans gâcher la résolution de luminance sur laquelle vos yeux se verrouillent. Si vous souhaitez une meilleure fidélité dans la conversion, vous pouvez obtenir une légère amélioration sans augmentation de la taille du fichier en spécifiant-define jpeg:dct-method=float
- c'est-à-dire, utiliser la transformation cosinus discrète en virgule flottante plus précise, plutôt que la version entière rapide par défaut.la source
mogrify -strip -interlace Plane -gaussian-blur 0.05 -quality 85% *.jpg
. Assurez-vous d'avoir une sauvegarde avant d'exécuter cette commande. Il écrira en place.-strip
l'a fait pour moi. Mercimogrify -strip -quality 75% *.jpg
. Strip est super. 0 perte de qualité et grande économie d'espace. Et la qualité à 75% se distingue à peine de 100%, mais prend la moitié de l'espace.J'utilise les directives d'optimisation d'image de Google Pagespeed Insights , et pour ImageMagick, ils recommandent ce qui suit:
-facteur d'échantillonnage 4: 2: 0
-strip -quality
85 [il peut varier, j'utilise la plage 60-80, un nombre inférieur ici signifie un fichier plus petit]
-entrelacement
-colorspace RGB
Commande dans ImageMagick:
Avec ces options, j'obtiens jusqu'à 40% d'économies sur la taille JPEG sans perte visible.
la source
Je dis simplement à ceux qui utilisent la classe Imagick en PHP:
la source
Une fois que j'avais besoin de redimensionner les photos de l'appareil photo pour les développer:
Commander:
et je ne vois aucun changement en plein écran avec mon moniteur de résolution 1920x1080. La résolution 2048 est la meilleure pour développer des photos de 10 cm avec une qualité maximale de 360 dpi. Je ne veux pas l'enlever.
edit: j'ai remarqué que j'obtiens même de bien meilleurs résultats sans flou. Sans flou, la taille du fichier représente 50% de l'original, mais la qualité est meilleure (lors du zoom).
la source
J'ajouterais une note utile et une suggestion générale pour minimiser JPG et PNG.
Tout d'abord, ImageMagick lit (ou mieux "devine" ...) le niveau de compression JPEG d'entrée et donc si vous n'ajoutez pas
-quality NN
du tout, la sortie devrait utiliser le même niveau que l'entrée. Parfois, cela pourrait être une caractéristique importante. Sinon, le niveau par défaut est-quality 92
(voir www.imagemagick.org )La suggestion concerne un outil gratuit vraiment génial ImageOptim , également pour le traitement par lots.
Vous pouvez obtenir des jpgs plus petits (et des pngs également, surtout après l'utilisation de l' ImageAlpha gratuit [pas de traitement par lots] ou du Pngyu gratuit si vous avez besoin d'un traitement par lots).
Non seulement, ces outils sont pour Mac et Win et comme ligne de commande (je suggère d'installer à l'aide de Brew puis de rechercher dans les formules Brew).
la source
J'ai ajouté
-adaptive-resize 60%
à la commande suggérée, mais avec-quality 60%
.Ce sont mes résultats
Je ne sais pas si cette conversion détruit trop mon image, mais honnêtement, je ne pensais pas que ma conversion ressemblait à de la merde. C'était un panorama grand angle et je ne me souciais pas d'une obstruction méticuleuse.
la source
Voir les liens suivants où il existe une option dans ImageMagick pour spécifier la taille de fichier de sortie souhaitée pour l'écriture dans des fichiers JPG.
http://www.imagemagick.org/Usage/formats/#jpg_write http://www.imagemagick.org/script/command-line-options.php#define
-define jpeg:extent={size} As of IM v6.5.8-2 you can specify a maximum output filesize for the JPEG image. The size is specified with a suffix. For example "400kb".
Vous perdrez une certaine qualité en décompressant et recompressant en plus de toute perte due à la baisse de la valeur de qualité de l'entrée.
la source
Est-ce que certains m'ont expérimenté ici et mon garçon fait que le flou gausien fait une belle différence. La dernière commande que j'ai utilisée était:
mogrify * -sampling-factor 4: 2: 0 -strip -quality 88 -interlace Plane -define jpeg: dct-method = float -colorspace RGB -gaussian-blur 0,05
Sans le flou gausien à 0,05, il était d'environ 261 Ko, avec environ 171 Ko pour l'image sur laquelle je testais. La différence visuelle sur un moniteur 1440p avec une grande image complexe n'est pas perceptible tant que vous n'avez pas zoomé à fond.
la source
Voici une solution complète pour ceux qui utilisent Imagick en PHP:
la source
Si l'image a de grandes dimensions, il est difficile d'obtenir de bons résultats sans redimensionnement, voici un redimensionnement de 60% qui, pour la plupart des utilisations, ne détruit pas trop l'image.
J'utilise ceci avec un bon résultat pour les images en niveaux de gris (je convertis de PNG):
Je l'utilise pour les pages en noir et blanc numérisées pour les obtenir en images en niveaux de gris (les arguments supplémentaires nettoient les ombres des pages précédentes):
J'utilise ceci pour des images en couleur:
la source