Est-ce que la réduction progressive de la qualité nuira progressivement

10

Dans Photoshop, y aura-t-il une différence de qualité lorsqu'un raster est réduit à 75% une fois au lieu d'être réduit à 50% deux fois ? Dans les deux cas, la taille finale sera la même: 25% de l'original.

La raison pour laquelle je demande, c'est parce que parfois je veux réduire une image dont je sais qu'elle a déjà été réduite. Je déteste avoir à CTRL + Z (annuler) une centaine de fois à l'état où l'image était dans sa taille d'origine. Si la qualité finale n'est pas affectée, je préfère simplement redimensionner l'image immédiatement.

JoJo
la source
1
Je suppose que vous voulez dire "50% une fois contre 25% deux fois"? Même ainsi (100%-75%)*(100%-75%) != 50%. Mais je crois que je sais ce que vous voulez dire, et la réponse à cette question est «non», et vous ne pourrez pas vraiment faire la différence, s'il y en a.
Mateen Ulhaq
2
Pas une réponse mais une solution possible à votre problème en ⁋2: si possible, convertissez le calque que vous êtes sur le point de redimensionner en un objet intelligent, il peut être redimensionné d'avant en arrière sans aucun effet sur la qualité du fichier d'origine.
Jari Keinänen
1
@muntoo Modifié pour dire 75% une fois et 50% deux fois. 25% deux fois est en fait plus grand que 50% une fois.
JoJo

Réponses:

10

C'est un wiki communautaire, vous pouvez donc réparer ce terrible, terrible post.


Grrr, pas de LaTeX. :) Je suppose que je vais devoir faire de mon mieux.


Définition:

Nous avons une image (PNG ou autre format sans perte *) nommée A de taille A x par A y . Notre objectif est de le faire évoluer de p = 50% .

Image ( "tableau") B sera une version "directement mis à l' échelle" de A . Il aura B s = 1 nombre d'étapes.

A = B B s = B 1

Image ( « tableau ») C sera un « progressivement mise à l' échelle » version A . Il aura C s = 2 nombre d'étapes.

A ≅ C C s = C 2


Les trucs amusants:

A = B 1 = B 0 × p

C 1 = C 0 × p 1 ÷ C s

A ≅ C 2 = C 1 × p 1 ÷ C s

Voyez-vous ces pouvoirs fractionnaires? Ils dégraderont théoriquement la qualité des images raster (les rasters à l'intérieur des vecteurs dépendent de l'implémentation). Combien? Nous allons le découvrir ensuite ...


Les bonnes choses:

C e = 0 si p 1 ÷ C s ∈ ℤ

C e = C s si p 1 ÷ C s ∉ ℤ

e représente l'erreur maximale (pire scénario), en raison d'erreurs d'arrondi entières.

Maintenant, tout dépend de l'algorithme de réduction d'échelle (Super Sampling, Bicubic, échantillonnage Lanczos, Nearest Neighbour, etc.).

Si nous utilisons le plus proche voisin (le pire algorithme pour quoi que ce soit de toute qualité), la "véritable erreur maximale" ( C t ) sera égale à C e . Si nous utilisons l'un des autres algorithmes, cela se complique, mais ce ne sera pas aussi mauvais. (Si vous voulez une explication technique sur la raison pour laquelle ce ne sera pas aussi mauvais que le plus proche voisin, je ne peux pas vous en donner une parce que c'est juste une supposition. REMARQUE: Hé les mathématiciens! Corrigez ça!)


Aime ton prochain:

Faisons un "tableau" d'images D avec D x = 100 , D y = 100 et D s = 10 . p est toujours le même: p = 50% .

Algorithme du plus proche voisin (définition terrible, je sais):

N (I, p) = mergeXYDuplicates (floorAllImageXYs (I x, y × p), I) , où seuls les x, y eux-mêmes sont multipliés; pas leurs valeurs de couleur (RVB)! Je sais que vous ne pouvez pas vraiment faire cela en mathématiques, et c'est exactement pourquoi je ne suis pas LE MATHÉMATICIEN LÉGENDAIRE de la prophétie.

( mergeXYDuplicates () ne conserve que les "éléments" x, y les plus bas / les plus à gauche dans l'image I d'origine pour tous les doublons qu'il trouve et supprime le reste.)

Prenons un pixel aléatoire: D 0 39,23 . Appliquer ensuite D n + 1 = N (D n , p 1 ÷ D s ) = N (D n , ~ 93,3%) encore et encore.

c n + 1 = étage (c n × ~ 93,3%)

c 1 = étage ((39,23) × ~ 93,3%) = étage ((36.3,21.4)) = (36,21)

c 2 = étage ((36,21) × ~ 93,3%) = (33,19)

c 3 = (30,17)

c 4 = (27,15)

c 5 = (25,13)

c 6 = (23,12)

c 7 = (21,11)

c 8 = (19,10)

c 9 = (17,9)

c 10 = (15,8)

Si nous ne réduisions une seule fois une échelle, nous aurions:

b 1 = étage ((39,23) × 50%) = étage ((19,5,11,5)) = (19,11)

Comparons b et c :

b 1 = (19,11)

c 10 = (15,8)

C'est une erreur de (4,3) pixels! Essayons cela avec les pixels de fin (99,99) et prenons en compte la taille réelle de l'erreur. Je ne ferai plus tout le calcul ici, mais je vais vous dire que cela devient (46,46) , une erreur de (3,3) par rapport à ce qu'elle devrait être, (49,49) .

Combinons ces résultats avec l'original: la "vraie erreur" est (1,0) . Imaginez que cela se produise avec chaque pixel ... cela pourrait faire une différence. Hmm ... Eh bien, il y a probablement un meilleur exemple. :)


Conclusion:

Si votre image est à l'origine de grande taille, cela n'aura pas vraiment d'importance, à moins que vous ne réduisiez plusieurs échelles (voir "Exemple réel" ci-dessous).

Il s'aggrave d'un maximum d'un pixel par pas incrémentiel (vers le bas) dans le voisin le plus proche. Si vous effectuez dix réductions d'échelle, votre image sera légèrement dégradée en qualité.


Exemple du monde réel:

(Cliquez sur les vignettes pour une vue agrandie.)

Réduit de 1% de manière incrémentielle à l'aide du super échantillonnage:

Original Réduit x1 Réduit x10 Zoom sur l'échelle réduite x1 Zoom sur x10 à échelle réduite

Comme vous pouvez le voir, le Super Sampling le "brouille" s'il est appliqué plusieurs fois. C'est "bon" si vous effectuez une réduction d'échelle. C'est mauvais si vous le faites progressivement.


* Selon l'éditeur et le format, cela pourrait potentiellement faire une différence, donc je reste simple et je l'appelle sans perte.

muntoo
la source
vous avez fait beaucoup d'efforts lol .... + 1
Jack
2
+1 pour l'effort ... -1000 pour nous penser que les gens de type artistique liront tout cela. J'ai défilé jusqu'au pix :-). Et vous avez fait valoir votre point de vue.
Dawson
Excellente réponse, mais je ne sais pas dans quelle mesure les bons exemples utilisent le plus proche voisin ou le super échantillonnage; d'autant plus que l'interpolation bicubique est la valeur par défaut de Photoshop. J'ai également lu l'inverse lors de l' agrandissement d' une image: l'agrandissement échelonné produit des résultats légèrement meilleurs qu'un agrandissement unique : photo.stackexchange.com/a/3985/1913 Pourquoi ce ne serait pas le cas pour la réduction?
Jari Keinänen
1
@koiyu Bicubic est pire que Supersampling, IIRC. En réduction d'échelle, l'image perd des données. [Pas tout à fait vrai, mais:] La plupart des algorithmes de réduction d'échelle sont conçus pour perdre ces données tout en supprimant la nervosité la plus proche produite par le «flou» des bords. Ce flou s'additionne. [Devinez] Si l'image est agrandie, elle est «récursivement» améliorée. Je parie qu'il existe un ou des algorithmes dans lesquels cette qualité récursive, bien que coûteuse en CPU, produit moins de flou dans l'image que lors de la mise à l'échelle en une seule fois. [/ Devinez]
Mateen Ulhaq
Malédiction pour avoir supprimé mes images après l'inactivité. Quelqu'un connaît-il un service dans lequel les images sont «permanentes»?
Mateen Ulhaq
5

JoJo pose des questions sur la qualité. La plupart des réponses concernent la précision des pixels , ce qui n'est pas pertinent pour un designer, ou même un photographe.

La qualité est une mesure de la façon dont le résultat final est convaincant et agréable , et non pas sa «précision». À titre d'exemple, le clonage ou le remplissage conscient du contenu remplacent les parties indésirables d'une image par des pixels plausibles : ils ont l'air correct, mais ils ne peuvent certainement pas être considérés comme exacts.

Dans Photoshop, la principale différence pratique entre la réduction progressive de la taille et la réduction d'un seul coup est qu'elle prend beaucoup plus de temps. Si vous facturez à l'heure, allez certainement 1% à la fois. Sinon, réduisez la taille d'un coup. Faites d'abord de l'image un objet intelligent, au cas où vous voudriez faire une version plus grande plus tard.

Quel que soit l'algorithme que vous utilisez (et le commentaire de Dawson sur ces algorithmes est mort - ils sont incroyables), la réduction de taille jette les pixels. L'algorithme soustrait les pixels et modifie les autres en devinant comment les faire bien paraître. Un bon algorithme fait de bonnes suppositions; cela vous donne un résultat qui semble convaincant, mais ce n'est pas précis dans un sens. Honnêtement, précis - autre que la couleur! - n'est pas ce que vous recherchez, sauf si vous êtes un scientifique, auquel cas vous ne seriez probablement pas en train de réduire vos effectifs en premier lieu.

Une image qui a été réduite à l'aide de l'algorithme bicubique habituel bénéficie souvent d'un peu de netteté, mais si vous créez des jpeg pour le Web, la netteté augmentera la taille du fichier.

Une bonne qualité de conception est la qualité dont vous avez besoin pour votre produit final. Tout ce qui va au-delà ajoute du temps, mais pas de la valeur, à votre travail.

[Edit: Puisqu'il a été question d'agrandissement dans la reprise de cette question par koiyu. J'ai ajouté quelques commentaires à ce sujet.]

Il y a une idée qui tourne autour du fait que si vous montez une image à petits pas, par opposition à un saut géant unique, vous obtenez un résultat légèrement meilleur ("un peu moins mauvais" serait plus précis). Scott Kelby a fait la promotion de l'idée il y a quelques années, et c'était peut-être vrai à partir de PS 7. Je n'ai rien vu qui m'a convaincu que c'est vrai aujourd'hui. Cela ne s'est pas avéré dans mes propres tests, autour de PS CS2 et 3, mais il faut dire que je n'ai pas perdu beaucoup de temps avec eux.

Je n'ai pas passé de temps à effectuer des tests approfondis car la légère différence entre "qualité d'image dégradée" et "qualité d'image légèrement moins dégradée" n'a aucune valeur pratique: ni utilisable. Dans mon propre travail, ma règle simple est: «Ne bougez pas». Pour des raisons pratiques dans le travail de conception, une image qui est un peu trop basse résolution pour un usage particulier semble toujours mieux utilisée telle quelle que cette même image "sur-dimensionnée" à la résolution "correcte" par n'importe quel processus que j'ai se rencontrent, y compris les variations fractales et bicubiques.

Alan Gilbertson
la source
"Si vous facturez à l'heure, allez certainement 1% à la fois." ...Peu orthodoxe? :)
Mateen Ulhaq
BTW, le `` flou '' perçu n'est-il pas fait volontairement par des algorithmes de réduction d'échelle?
Mateen Ulhaq
Bicubic ne brouille pas intentionnellement, mais un léger ramollissement est un artefact courant. Quand il se produit, un affûtage modeste le corrige.
Alan Gilbertson
1
@muntoo: "Si vous facturez à l'heure ..." est un sarcasme léger qui est courant dans les discussions sur les workflows de conception, pour souligner que les utilisations inefficaces et inutiles du temps de travail sont à la fois inefficaces et inutiles.
Alan Gilbertson
+1 Beaucoup de bons morceaux: "La qualité est une mesure de la façon dont le résultat final est convaincant et agréable, et non pas sa" précision ".", "Précis ... n'est pas ce que vous recherchez, sauf si vous êtes un scientifique "," la légère différence entre "qualité d'image dégradée" et "qualité d'image légèrement moins dégradée" n'a aucune valeur pratique "
Farray
3

Généralement, plusieurs échelons réduiront la qualité sur une seule échelle à la taille finale, mais souvent la différence sera minime. En particulier, la mise à l'échelle plus petite par des rapports exacts, comme votre exemple de (2: 1, 2: 1) par rapport à (4: 1), aura une très faible dégradation par rapport à la mise à l'échelle unique. Il est préférable, bien sûr, de faire toutes les modifications dans la résolution la plus élevée, puis de redimensionner une seule fois à la fin. Lorsque la mise à l'échelle exacte n'est pas initialement connue, on peut effectuer une série de mises à l'échelle de test pour trouver la bonne taille, puis noter la taille, jeter l'image de test et effectuer une mise à l'échelle unique à cette taille à partir de l'original.

mgkrebbs
la source
1
Vous dites que la mise à l'échelle incrémentielle est pire, mais existe-t-il une preuve théorique?
JoJo
1
Je viens de prendre un aperçu de ma configuration multimoniteur, puis j'ai utilisé Photoshop pour mettre à l'échelle une version à 25% et une version 50 puis 50. Les deux résultats étaient identiques en pixels. J'ai été surpris
horatio
@Jojo: Je n'ai pas de preuve théorique à proposer (et une preuve dépendrait de celui de plusieurs algorithmes d'interpolation qui a été utilisé dans la mise à l'échelle). Je pense que vous pourriez pratiquement le montrer: prenez une image non triviale disons 400x400, mettez-la à 380px, celle à 360, et celle à 340. Comparez-la à une échelle de l'original à 340px. Je n'ai pas essayé cela, mais je pense qu'il y aura un plus grand flou, bien que ce ne soit pas tout à fait perceptible visuellement. Notez que la mise à l'échelle suggérée n'utilise pas de bons ratios.
mgkrebbs du
1
J'ai fait l'exercice. Voici la version à 1 échelle et voici la version à l'échelle 3x . Vous pouvez voir une perte de détails dans les lignes fines du milieu inférieur. Avec le zoom, vous pouvez voir des images similaires dans de nombreux endroits. Il s'agissait d'une interpolation cubique via Gimp, et utilisait des fichiers PNG pour éviter une compression avec perte.
mgkrebbs le
1

Cette question est IMPRESSIONNANTE! ... Je pense que nous devenons tous trop techniques.

Image 100 x 100 pixels = 10000 pixels au total

La mise à l'échelle d'une image réduit les pixels. La mise à l'échelle les ajoute. Dans les deux cas, le logiciel prend une "supposition éclairée" quant à la modification du fichier.

Une seule réduction: 90 x 90 (1900 pixels supprimés des informations du fichier d'origine)

Réduction en 2 étapes: 95 x 95 (975 px supprimés), 90 x 90 (encore 925). Le détail à attraper ici est celui du total de 1900px supprimé - 975 d'entre eux ne faisaient pas partie des informations d'origine .

L'image originale est toujours la meilleure. Moins de «générations» équivaut toujours à une meilleure qualité (la plus proche de la qualité d'origine).

PREUVE (et une réponse au commentaire de @ mutoo)

entrez la description de l'image ici

C'est simple ... c'est un algorithme ... ce n'est pas un ensemble d'yeux humains. Il y a 3 couleurs ici. 100% noir, 50% noir et blanc (image en niveaux de gris). Peu importe comment je le redimensionne - menu de taille d'image, outil de transformation, RVB, CMJN, 100 x 100 pixels, 10 x 10 pouces, les résultats sont les mêmes:

Le long du bord noir / gris, vous trouvez 80% de noir (une couleur qui n'existe pas). Le long du bord blanc / gris, vous trouvez 7% de noir (n'existe pas). [pas une invitation à l'argument anti-alias ici]

Comme nous le savons tous (être humain, et tous), une réduction ou un agrandissement parfait produirait une boîte rayée noir / gris / blanc. Et j'ai toujours trouvé qu'une seule itération (vers le haut ou vers le bas) créait une meilleure réplique que plusieurs.

Dawson
la source
La partie concernant "NE fait PAS partie des informations d'origine" n'est pas entièrement correcte. L'algorithme du plus proche voisin, par exemple, ne modifie jamais les valeurs des pixels; il supprime uniquement les pixels sélectionnés. Finalement, les «mauvais pixels» commencent à être supprimés en raison d'erreurs d'arrondi d'entier, de sorte que la qualité se dégrade. De «meilleurs» algorithmes, quant à eux, peuvent mélanger les couleurs des pixels, et certains algorithmes de mise à l'échelle du pixel art peuvent même prendre des «suppositions». Cela conduit à un flou, ce qui est souhaitable lorsque vous effectuez une seule échelle, mais pas plusieurs.
Mateen Ulhaq
[suite] Le voisin le plus proche est encore pire, cependant: il supprime les "mauvais pixels" et donne à votre image l'apparence d'un escalier vraiment étrange (vue de dessus).
Mateen Ulhaq
Me ramène à mes jours de caméra statistique - construisez-le / prenez-le à la taille dont vous avez besoin pour la meilleure reproduction possible. De gros accessoires pour les gens qui écrivent ces algorithmes ... "Créons UNE chose qui traitera TOUT et la rendra vraiment bien 99% du temps." <- des trucs assez hardcore, sérieusement.
Dawson
-1

Très probablement oui, mais dans la plupart des cas, vous ne pourrez même pas remarquer la différence.

Edit: je vois que les gens n'aiment pas ma réponse :). Peut-être parce que c'est simple. À mon humble avis, cela ne le rend pas moins vrai. Eh bien… prouve-moi le contraire :).

Edit 2: Je voulais garder ma réponse brève mais… :)

Q: Dans Photoshop, y aura-t-il une différence de qualité lorsqu'un raster est réduit à 75% une fois au lieu d'être réduit à 50% deux fois? Dans les deux cas, la taille finale sera la même: 25% de l'original.

UNE:

  1. "Très probablement oui" - jetez un œil au post de muntoo. Il dit que chaque étape d'interpolation introduit des erreurs mineures. Ce sont des erreurs d'arrondi ou de représentation et elles peuvent contribuer à la dégradation de la qualité. Conclusion simple: plus d'étapes, plus de dégradation possible. Ainsi, l'image "très probablement" perdra de sa qualité à chaque étape de mise à l'échelle. Plus d'étapes - plus de dégradation possible de la qualité. Ainsi, l'image "très probablement" sera plus dégradée si elle est redimensionnée deux fois plutôt qu'une seule. La perte de qualité n'est pas certaine - prenez une image en couleur unie par exemple, mais à quelle fréquence un concepteur mettra-t-il à l'échelle des images similaires?

  2. "mais dans la plupart des cas, vous ne pourrez même pas remarquer la différence" - encore une fois - le post de muntoo. Quelle est la taille des erreurs potentielles? Dans ses exemples, les images sont mises à l'échelle non pas en 2 mais en 75 étapes et les changements de qualité sont notables mais pas dramatiques. En 75 étapes! Que se passe-t-il lorsque l'image est mise à l'échelle à 25% dans Ps CS4 (bicubique, l'échantillon de muntoo, mis à l'échelle en une et deux étapes en conséquence)?

en une seule étape en deux étapes

Quelqu'un peut-il voir la différence? Mais la différence est là:

#: gm compare -metric mse one-step.png two-step.png Image Difference (MeanSquaredError):
           Normalized    Absolute
          ============  ==========
     Red: 0.0000033905        0.0
   Green: 0.0000033467        0.0
    Blue: 0.0000033888        0.0
   Total: 0.0000033754        0.0

Et peut être vu s'il est correctement marqué (gm compare -highlight-color purple -file diff.png one-step.png two-step.png):

différence entre une mise à l'échelle en une et deux étapes

1 et 2 fait ma réponse, que j'espérais garder brève, car d'autres étaient assez élaborées;).

C'est ça! :) Jugez-en vous-même.

thebodzio
la source
1
-1 car ce n'est pas une vraie réponse. "probablement oui" ... sur la base de quoi ? "Vous ne pourrez pas remarquer la différence" ... ce site d'AQ s'adresse aux professionnels du design , qui sont précisément les personnes qui remarqueraient des différences infimes dans les images. Si vous supprimez la théorie et l'assertion non prises en charge, il n'y a pas d'autre contenu dans votre message.
Farray
Basé sur mon expérience. L'as tu essayé? Un bon professionnel sait quand utiliser une aproximation au lieu d'essayer de compter si la couleur diffère d'une fraction de pour cent :)
thebodzio
Je voulais dire: avez-vous essayé de rééchantillonner une image progressivement et de comparer les résultats avec l'image rééchantillonnée en une seule étape? Je n'ai pas adhéré à votre expérience.
thebodzio
1
L'élaboration de @thebodzio a vraiment aidé cette réponse - et comme les downvotes ne sont pas permanents, j'ai supprimé la mienne.
Jari Keinänen