libimage / les filtrages
dernière mise à jour: 14 mars 2009
# et
#
Les filtres de base sont définis par un tableau de 11 entiers.
Les 9 premiers représentent la matrice 3x3, le 10ème est le diviseur, et le
11ème est l'offset ajouté à la fin du calcul. Il y a une fonction qui permet
d'afficher ces valeurs. On trouvera également des filtres classiques
appelables directement.
filtres
- int Image_convolueur3(Image_Desc *in, Image_Desc *out, int *mat);
- Je ne sais pas si le nom 'convolueur' est bien adapté...
- int Image_lissage_3x3(Image_Desc *in, Image_Desc *out);
- Moyennage des pixels sur la matrice 3x3.
- void Image_filtre_display(FILE *ou, int *mat);
- Affichage des valeurs d'un filtre. ou précise à quel endroit
l'envoyer. Vous pouvez utiliser stdout, stderr
ou un fichier que vous avez préalablement ouvert.
- int
Image_filtre_random(Image_Desc *src, Image_Desc *dst, int p1, int p2);
- Les 9 coefficients du filtre sont choisis au hasard entre p1 et p2.
N'oubliez pas d'appeller srand(getpid()) si vous obtenez la même
chose à chaque course :-)
- int Image_filtre_passe_bas(Image_Desc *in, Image_Desc *out);
- parfois, il m'arrive de me demander si ce filtre n'est pas équivalent
au lissage 3x3...
- int Image_filtre_passe_haut(Image_Desc *in, Image_Desc *out);
- euh...
Certaines primitives du module 'filtres.c' necessitent une lecture
approfondie du code source. ymmv.
haut de page
liens
Comme d'habitude, utilisez votre g00gl3
favori, et tentez des mots-clefs du genre 'convolution' ou 'sobel filter'.
haut de page