Elargir une image

 

ulis, 2003-12-06. Une procédure pour élargir une image (et qui gère la transparence).

Crédit photo: [à remplir]


Comment ça marche

  Il faut faire un interpolation linéaire.

  p x- 0 -x- 1 -x- 2 -x             <- pixels de l'image originale
    |     \     \     \
    |      \      \      \
    |       \       \       \       <- correspondance entre les images
    |        \        \        \
    |         \         \         \
  P x- 0 -x- 1 -x- 2 -x- 3 -x- 4 -x <- pixels de l'image élargie
    |     .   | .     . |   .     |
    |  3  . 2 |1.  3  .1| 2 .  3  |
    |  -  . - |-.  -  .-| - .  -  | <- poids
    |  3  . 3 |3.  3  .3| 3 .  3  |

  P0 = p0 * 3/3
  P1 = p0 * 2/3 + p1 * 1/3
  P2 = P1 * 3/3
  P3 = P1 * 1/3 + p2 * 2/3
  P4 = P2 * 3/3

  Chaque pixel de l'image élargie est la somme des pixels qui correspondent linéairement dans l'image originale, pondérés comme ci-dessus.
  Quand le coefficient d'élargissement est entier, il est possible d'optimiser en traitant les pixels par blocs.
  Quand le coefficient est fractionnaire, l'image résulate est légèrement floue et il faut augmenter sa netteté.

La page complète avec le code :

http://mini.net/tcl/ExpandingAnImage <-- lien obsolète, mais on peut voir le code sur la page en anglais : http://wiki.tcl.tk/10520


Voir aussi


Discussion


Catégorie Exemple | Catégorie Traitement d'image