Annonce

Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

Zaphod
2011-04-16 20:02:21

P@t a écrit:

En fait, avec External ImageMagick, j'ai "squizzé" ce paramètre blur, car je n'ai pas réussi à transposer ce paramètre de la classe php en ligne de commande...
(...)
Question: comment convertir le paramètre blur de la classe php en ligne de commande avec les valeurs de radius et sigma.

A priori il n'y a pas ce paramètre blur avec un redim ImageMagick.
Le paramètre blur imagemagick ne fera que diminuer le niveau de détail.

C'est assez étonnant, cette différence, alors que la plupart des fonctions semblent identiques.
Il faudrait savoir ce qu'il y a derrière, mais la doc de la classe php ne semble pas hyper fournie.

Zaphod
2011-04-16 20:00:04

plg a écrit:

Avec ImageMagick, il y a une petite accentuation d'appliquée, avec un "blur filter" à 0.9.

A priori pas avec External Image Magick.
En tous cas ce que ça donne est identique à ce que donne un simple redim avec ImageMagick chez moi, ce qui est naturel au vu de ce que dit Pat.

plg a écrit:

J'avoue que sur ton exemple des 4 miniatures, à part dire que la 4eme est trop accentuée niveau sharpness, je trouve les autres équivalente. Cela dit, sur une "taille web", cela pourrait avoir plus d'impact.

Oui, c'est vrai, mais je trouve que quand on regarde une page de miniatures l'impression générale est très différente (surtout entre GD et imagemagick)

Je trouve qu'avec GD ça donne une impression de flou et les couleurs sont aussi un peu bouffées.

P@t
2011-04-16 14:57:13

plg a écrit:

Zaphod a écrit:

En général, un redimensionnement a tendance à rendre l'image plus floue, donc un petit coup d'accentuation ensuite permet de compenser ça.

Avec ImageMagick, il y a une petite accentuation d'appliquée, avec un "blur filter" à 0.9.

En fait, avec External ImageMagick, j'ai "squizzé" ce paramètre blur, car je n'ai pas réussi à transposer ce paramètre de la classe php en ligne de commande...

Pour la classe php, voila ce qui est noté dans le manuel:

blur: The blur factor where > 1 is blurry, < 1 is sharp

Et voila l'aide du paramètre blur en ligne de commande:

-blur radius
-blur radiusxsigma

Reduce image noise and reduce detail levels.   
Convolve the image with a Gaussian or normal distribution using the given Sigma value.

The Sigma value is the important argument, and determines the actual amount of blurring that will take place.

The Radius is only used to determine the size of the array which will hold the calculated Gaussian distribution. It should be an integer. If not given, or set to zero, IM will calculate the largest possible radius that will provide meaningful results for the Gaussian distribution.

The larger the Radius the radius the slower the operation is. However too small a Radius, and sever aliasing effects may result. As a guideline, Radius should be at least twice the Sigma value, though three times will produce a more accurite result.

Question: comment convertir le paramètre blur de la classe php en ligne de commande avec les valeurs de radius et sigma.

plg
2011-04-16 14:41:37

plg a écrit:

Sur le forum central anglophone, un utilisateur a envoyé un patch pour ajouter un "unsharp mask" avec GD.

http://piwigo.org/forum/viewtopic.php?id=17110

plg
2011-04-16 14:40:53

Zaphod a écrit:

En général, un redimensionnement a tendance à rendre l'image plus floue, donc un petit coup d'accentuation ensuite permet de compenser ça.

Avec ImageMagick, il y a une petite accentuation d'appliquée, avec un "blur filter" à 0.9.

Zaphod a écrit:

Avec ImageMagick je sais qu'il y a des fonctions pour ça... avec GD c'est plus chaud.

Sur le forum central anglophone, un utilisateur a envoyé un patch pour ajouter un "unsharp mask" avec GD.


J'avoue que sur ton exemple des 4 miniatures, à part dire que la 4eme est trop accentuée niveau sharpness, je trouve les autres équivalente. Cela dit, sur une "taille web", cela pourrait avoir plus d'impact.

Zaphod
2011-04-15 18:59:56

Je viens d'essayer sur un redim taille web et la différence entre GD et ImageMagick est nettement visible... c'est vraiment une belle amélioration de pouvoir compter sur ce soft ;)

Zaphod
2011-04-15 16:24:15

Pour l'instant je pense surtout que je vais me contenter du redimensionnement de base qui est déja pas mal du tout ;)

J'ai déja toute ma galerie à remettre à jour avec le plugin Lightroom... maintenant qu'on peut regénérer très facilement les thumbnails et les websize... ça peut se faire dans un deuxième temps si je suis toujours motivé.

P@t
2011-04-15 15:37:24

Pour en revenir au sujet principal:

Zaphod a écrit:

1) J'utilise square thumbnails en fixant le ratio des miniatures (je choisis 4/3).
Mais la taille des miniatures que j'obtiens n'est pas tout à fait constante.
J'ai des miniatures 128x96 et 128x97.
Ca n'est sans doute visible que par les psychopathes comme moi, mais il y a peut-être une erreur d'arrondi quelque part ?

C'est un soucis d'arrondi dans la fonction get_resize_dimensions. Ca sera corrigé pour la 2.2.1.

P@t
2011-04-15 14:18:29

Bon, pour moi, c'est un peu du chinois tout ça ;-)
Toujours est-il que tu peux définir ta propre fonction pour redimensionner les miniatures et les websize.
D'autant plus qu'avec le plugin external ImageMagick, tu peux utiliser exactement les mêmes commandes que chez toi en local.

Zaphod
2011-04-14 22:09:45

La conclusion de tout ça (en dehors du fait qu'à peu près 2% des visiteurs verront la différence sur les miniatures) c'est que déja l'utilisation d'image magick me permet d'avoir des miniatures propres et avec un niveau de détail correct.

Le sharpen c'est un peu du luxe pour les thumbs, c'est peut-être plus utile dans le cas où on uploade des images HD de taille très élevées, et qu'on fait un redim conséquent pour la taille web.

Zaphod
2011-04-14 22:06:35

Et un exemple

Zaphod
2011-04-14 22:05:33

Voila les comparaisons

Zaphod
2011-04-14 22:03:34

Je ne connais pas trop les paramètres de la classe PHP.

Sur l'imagemagick de base, il n'y a pas de paramètres blur sur le resize.

J'utilise l'argument "-unsharp"

Code:

-unsharp radiusxsigma{+amount}{+threshold}

par exemple :

Code:

-unsharp 0x0.50+1.00+0.00

A priori ça existe aussi en PHP.

Les paramètres d'image magick sont un peu différents de ce qui se voit en général sur les USM.
Je ne maitrise d'ailleurs pas totalement son application.
Je viens de trouver un truc assez explicite ici :
http://forum.hardware.fr/hfr/Photonumer … m#t2970079

Pour le radius je mets 0 car ça le choisit de façon automatique.
Pour le sigma, pour une accentuation moyenne je mets 0.5
L'amount je mets 1.00 et le threshold 0.00 (pas vu de grosse différence, je pense que le 0.05 par défaut serait plutôt mieux en fait)



Bon, concrètement, qu'est-ce que ça change ?
J'ai fait un test en comparant :
1) les miniatures faites avec GD dans Piwigo
2) les miniatures faites avec Image Magick dans Piwigo
3) les miniatures faites avec Image Magick chez moi avec mon accentuation habituelle
4) les miniatures faites avec Image Magick chez moi avec une accentuation exagérée, pour forcer le trait.

Je passe sur l'Image Magick fait chez moi sans accentuation, qui bizarrement est très légèrement différent de l'Image Magick de Piwigo, mais c'est vraiment très faible.


Je mets un exemple en pièce jointe de 4 versions pour une image + des comparaisons agrandies.
Les différences deviennent réellement visibles quand on grossit beaucoup. A taille réelle, ça peut paraitre du pinaillage ;) mais ça ne l'est pas totalement.

Globalement, mes conclusions sont que :
- GD bouffe pas mal de détails et de couleurs au redimensionnement
- la différence entre ImageMagick sans accentuation et avec accentuation modérée est relativement faible.
- de toutes façons, on ne peut pas définir une accentuation par défaut trop forte, ça pourrait bien passer sur les paysages, mais sur des portraits ça serait horrible.

Bref, il y a un gain vraiment important à passer de GD à ImageMagick je trouve.
Du coup, comme plus de détails sont conservés, l'accentuation manque moins... même si je trouve qu'elle apporte un petit plus.

P@t
2011-04-14 18:48:32

Zaphod a écrit:

Ca veut donc dire qu'image magick est installé... c'est une bien bonne nouvelle...

Comme je le disais plus haut, un test est effectué directement sur la page des plugins... donc si imagemagick n'est pas installé sur le serveur, il y a un gros bandeau orange qui s'affiche directement ;-)

Après, si tu veux bidouiller, jette un oeil au fichier plugins/external_ImageMagick/imagick.class.php.
C'est une classe que j'ai faite qui reprends les fonctions utilisées par piwigo de la classe php imagick, et en particulier la fonction resizeImage dont le 4e paramètre est le "blur". Dans le manuel de la classe php, il est écrit: "Le facteur de flou, où > 1 est flou, et < 1 est net.". Mais ca ne correspond pas du tout aux paramètres d'imageMagick... je l'ai donc ignoré (ca correspond à la ligne commentée), si tu peux me renseigner la dessus...

Zaphod
2011-04-14 17:16:00

J'ai corrigé et ça marche (j'ai bien les exifs sur la taille web normale redimensionnée.)

Ca veut donc dire qu'image magick est installé... c'est une bien bonne nouvelle...

Ca me permettra de tenter 2/3 trucs du coup.
(déja, la qualité du redim d'imagemagick est supérieure à celle de GD, donc ça peut suffire tel quel)

Merci pour l'info en tous cas, j'étais persuadé que ça n'y était pas...

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact