User Tools

Site Tools


in204:cpp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
in204:cpp [2020/05/25 11:14]
bmonsuez [Rendre l'interpolation générique]
in204:cpp [2024/07/10 07:26] (current)
bmonsuez [Installation d'une bibliothèque]
Line 4: Line 4:
  
  
-===== Bibliothèqe ​de manipulation d'​images =====+===== Bibliothèque ​de manipulation d'​images =====
  
 Pour lire et écrire des images, nous vous proposons d'​utiliser une bibliothèque pour accéder aux images de types .png et .jpeg. Pour lire et écrire des images, nous vous proposons d'​utiliser une bibliothèque pour accéder aux images de types .png et .jpeg.
  
-==== Installation ​de la bibliothèque ====+Il est demandé ​de supporter au moins deux formats d'​image. Dans l'​absolu,​ il est souhaitable d'​avoir le format .bmp, le format .png ainsi que le format .jpeg. Un plus serait d'​avoir le format jpeg 2000.
  
-Pour ce faire, ​vous allez installer dans un premier temps sur votre environnement ​la bibliothèque http://www.cimg.eu/ qui vous permettra de lire et d'écrire ​des fichiers '​image'​ au format '.jpeg' et '​.png'​.+==== Installation d'une bibliothèque ==== 
 + 
 +Il vous est proposé d'​utiliser ​la bibliothèque ​**[[http://​cimg.eu|CImg]]**. Cette bibliothèque ​vous permettra de lire et écrire ​les fichier ainsi que de manipuler les images. 
 + 
 +Vous installerez la bibliothèque dans votre environnement.
  
 ==== Validation de l'​installation ==== ==== Validation de l'​installation ====
Line 75: Line 79:
 ===== Redimensionnement d'une image par interpolation bilinéaire ===== ===== Redimensionnement d'une image par interpolation bilinéaire =====
  
-==== Phase 1 ==== +La technique ​précédente ​est simple à mettre en œuvre ​mais n'est pas très satisfaisante en terme de qualité de rendu, dès que le facteur d'​agrandissement est élevé. Nous nous intéressons donc à d'​autres techniques permettant de calculer la couleur du point $(x,y)$ qui est introduit lors de la fonction d'​agrandissement. Le schéma suivant montre les techniques d'​interpolation habituelles selon leur version en une dimension et leur extension à deux dimensions.
- +
-La technique ​précédent ​est simple à mettre en oeuvre ​mais n'est pas très satisfaisante en terme de qualité de rendu, dès que le facteur d'​agrandissement est élevé. Nous nous intéressons donc à d'​autres techniques permettant de calculer la couleur du point $(x,y)$ qui est introduit lors de la fonction d'​agrandissement. Le schéma suivant montre les techniques d'​interpolation habituelles selon leur version en une dimension et leur extension à deux dimensions.+
  
 {{:​in204:​comparison_of_1d_and_2d_interpolation.svg.png?​400|}} {{:​in204:​comparison_of_1d_and_2d_interpolation.svg.png?​400|}}
Line 85: Line 87:
  
 **Implanter une fonction qui effectue le redimensionnement de l'​image en appliquant une interpolation billinéaire. Tester cette fonction sur la même image et pour les mêmes facteurs que pour l'​interpolation par plus proche voisin.** **Implanter une fonction qui effectue le redimensionnement de l'​image en appliquant une interpolation billinéaire. Tester cette fonction sur la même image et pour les mêmes facteurs que pour l'​interpolation par plus proche voisin.**
- 
  
 ====== Rendre l'​interpolation générique ====== ====== Rendre l'​interpolation générique ======
Line 142: Line 143:
  
 Comment généraliser cette approche à des fonctions plus complexes nécessitant non pas les quatres plus proches voisins mais par exemple une matrice 4x4 définis par $(x_{i-1}\ldots x_{i+2}, y_{i-1},​\ldots y_{i+2})$ pour notamment l'​interpolation cubique, sachant que $x_i, y_i$ est égal à $(\lfloor(x^o),​ \lfloor(y^o))$. Comment généraliser cette approche à des fonctions plus complexes nécessitant non pas les quatres plus proches voisins mais par exemple une matrice 4x4 définis par $(x_{i-1}\ldots x_{i+2}, y_{i-1},​\ldots y_{i+2})$ pour notamment l'​interpolation cubique, sachant que $x_i, y_i$ est égal à $(\lfloor(x^o),​ \lfloor(y^o))$.
- 
  
  
in204/cpp.1590405280.txt.gz · Last modified: 2020/05/25 11:14 by bmonsuez