Ajustez le facteur de sous-échantillonnage (f) pour observer la réduction de la dimension spatiale de la matrice et l'échantillonnage par saut des pixels supérieurs gauches de chaque bloc f × f.
2.12.2 EP02_02 🔬 Sous-échantillonnage spatial
Dans cette activité, vous devez implémenter la réduction de la résolution spatiale d’une image par le processus de sous-échantillonnage.
- Lisez deux entiers L et C, représentant les dimensions de la matrice d’origine.
- Lisez une valeur entière \(f\) (\(f \ge 1\)), qui représente le facteur d’échantillonnage.
- Lisez les valeurs entières de la matrice d’origine.
- La nouvelle image doit être construite en sélectionnant le pixel de la position \((f \cdot i, f \cdot j)\) de l’image d’origine.
- Imprimez la matrice résultante avec les nouvelles dimensions.
- Voir dans Figure 2.13 une simulation de cet EP.
📌 Important :
- Dimensions finales : L’image échantillonnée aura pour dimensions \(\lceil L/f \rceil \times \lceil C/f \rceil\). Dans le contexte de la programmation, cela équivaut à la taille résultante d’un découpage (slicing) avec un pas \(f\).
- Implémentation : N’utilisez pas de fonctions toutes faites issues de bibliothèques de traitement d’images (comme OpenCV ou PIL) pour le redimensionnement. Implémentez la logique de sélection des pixels manuellement ou via le découpage de matrices.
- Aliasing : Notez que ce processus peut provoquer l’effet d’aliasing (crénelage), où les détails fins sont perdus ou des motifs indésirables apparaissent.
2.12.2.1 🧠 Discrétisation de l’espace
Le sous-échantillonnage réduit la résolution spatiale d’une image en ne sélectionnant qu’un pixel tous les \(f\) pixels dans chaque direction. C’est le processus inverse de l’interpolation :
| Paramètre | Fonction | Effet |
|---|---|---|
| Facteur \(f\) | Saut d’échantillonnage | Définit l’intervalle de sélection. Un facteur \(2\) réduit la largeur et la hauteur de moitié. |
| Résolution | Densité de pixels | Diminue la quantité totale d’informations spatiales de l’image. |
| Aliasing | Effet secondaire | Apparition de motifs en escalier ou en blocs en raison de la perte de détails fins. |
2.12.2.2 📋 Tâche (spécification pour VPL)
Entrée :
La première ligne contient L.
La deuxième ligne contient C.
La troisième ligne contient le facteur f.
Les lignes suivantes contiennent les éléments de la matrice \(L \times C\).
Sortie :
La matrice réduite avec les dimensions correspondant au découpage par f.
2.12.2.3 📌 Exemples
| Entrée | Sortie | Observation |
|---|---|---|
| 2 4 2 10 20 30 40 50 60 70 80 |
10 30 | Le facteur 2 sélectionne les pixels (0,0) et (0,2) de la première ligne. La deuxième ligne est ignorée. |
🔽 Simulateur EP02_02 : Sous-échantillonnage Spatial d'Image
p'(i, j) = p(i·f, j·f)
1
f = 1 → Résolution Originale (4×4) | f = 2 → Moitié (2×2) | f = 3 ou 4 → Échantillon Unique (1×1)
Originale (4×4)
Sous-échantillonnée (Taille Variable)
Facteur f = 1 → conserve tous les pixels originaux (4×4)
%%writefile EP02_02.cpp
// your solutionOverwriting EP02_02.cpp
TestSuite("EP02_02.cpp").run()✔️ EP02_02.cases existe déjà dans casos/
📋 5 cas chargé(s) depuis casos/EP02_02.cases
🔍 Test de C++ : EP02_02.cpp
⚠️ EP02_02.cpp : fichier vide (moins de 3 lignes). Tests ignorés.