Puisqu'une image est fondamentalement une matrice de nombres à 2 dimensions (3e dimension pour les couleurs: RVB [A]), il est possible de définir un paramètre de "netteté" pour elle, bien que sa perception soit subjective.
La netteté est liée à la quantité et à la «rapidité» des changements de couleur et peut être évaluée en exécutant la transformation de Fourier (la transformation de Fourier rapide est utilisée parce qu'elle est plus rapide) sur l'image.
Vous pouvez donc définir la netteté comme la présence de contenu haute fréquence et son intensité. Une façon d'avoir une évaluation indicative est de choisir une ligne horizontale de pixel et d'exécuter la transformée de Fourier dessus.
Par exemple, si vous choisissez une image non compressée avec uniquement des bandes verticales noires et blanches (netteté maximale):
et choisissez juste une ligne horizontale, vous aurez quelque chose comme ceci:
C'est l'équivalent d'une onde carrée, qui se transforme ressemble à:
(image des pics s'étendant à l'infini, car le bord est pratiquement instantané).
Si vous lissez les bords, le résultat sera quelque chose comme (très approximativement):
Et le spectre (encore une fois, à titre indicatif):
Comme vous pouvez le voir, seule la première harmonique (définissant les zones sombres et claires) est restée égale, tandis que le contenu de fréquence plus élevée a fortement diminué. C'est le résultat du lissage de l'image, et vous pouvez voir comment une image plus fluide a un contenu moins haute fréquence. Il en va de même pour les images "normales", où l'augmentation du contraste augmente également la fréquence des changements.
À titre de preuve, il est également utilisé dans la compression JPEG pour supprimer le contenu de fréquence le plus élevé (en fonction du facteur de qualité) afin de réduire la taille de l'image.
Si je parviens à faire fonctionner Matlab, des exemples plus détaillés arrivent.