Dans le cadre de ce tp, nous allons nous concentrer sur la convolution discrète d'un signal en deux dimensions. Pour représenter notre signal en deux dimmensions, nous pouvons utiliser des matrices. Par exemple :
Dans le cadre de ce tp, nous allons nous concentrer sur la convolution discrète d'un signal discret en deux dimensions. Pour représenter notre signal discret en deux dimmensions, nous pouvons utiliser des matrices. Par exemple :
Une image matricielle peut être interpétée comme un signal discret en deux dimmensions.
Pour rappel, la formule du produit de convolution en 1 dimension d'un signal discret est :
\begin{equation}
...
...
@@ -180,7 +182,9 @@ Vous allez devoir implémenter une solution de traitement d'images en nuances de
Pour commencer, vous devrez implémenter un outil permettant de lire des images au format PGM. Vous utiliserez le format binaire pour stocker la valeur de vos pixels. Votre programme devra respecter les spécifications du format PGM ([http://netpbm.sourceforge.net/doc/pgm.html](http://netpbm.sourceforge.net/doc/pgm.html)).
Pour visualiser votre image, vous pouvez à choix l'afficher avec la librairie SDL (bonus + 0.3 pt sur la note finale) ou alors la sauvegarder au format PGM, et utiliser un outil compatible (par ex: ImageMagick).
Pour visualiser votre image, vous pouvez à choix l'afficher avec la librairie SDL (bonus sur la note finale) ou alors la sauvegarder au format PGM, et utiliser un outil compatible (par ex: ImageMagick).
Lorsque vous appliquerez les différents filtres, si vous tombez sur des valeurs inférieures à 0 ou supérieur à votre valeur maximale (par ex: $2^{16}-1$); vous mettrez la valeur cohérente la plus proche, 0 si $<$0et$max$si$>$ $max$.