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 ∉ ℤ
Où 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:
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.
(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.