This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
in204:cpp [2020/05/25 11:15] bmonsuez [Phase 1] |
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 ===== | ||
- | + | 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édente 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))$. | ||
- | |||