Produit de convolution 2D

dartal Messages postés 14 Date d'inscription jeudi 25 septembre 2003 Statut Membre Dernière intervention 12 février 2005 - 14 nov. 2004 à 19:37
mascara82 Messages postés 3 Date d'inscription lundi 2 janvier 2006 Statut Membre Dernière intervention 5 juin 2006 - 12 févr. 2006 à 13:18
Salut !

Je dois realiser un produit de convolution pour pouvoir filtrer une image avec un masque ( un tableau de taille 3*3 )...

J'ai reussi à mettre au point un produit de convolution sur une seule dimension , mais j'ai un peu de mal pour gerer les 2 doubles tableaux
( un double tableau d'entrée ou j'ai les valeurs correspondant à l'image que je convolue avec un tableau masque pour obtenir l'image filtré )

Est ce que quelqu'un pourrait me donner un ptit coup de main ?

Merci d'avance , Dart
A voir également:

1 réponse

mascara82 Messages postés 3 Date d'inscription lundi 2 janvier 2006 Statut Membre Dernière intervention 5 juin 2006
12 févr. 2006 à 13:18
la formule est simple et tu peut l'essayer,tout d'abord tu déclare un tableau deux dimension int tab[3][3],et tu charge ton image dans une matrice:int mat[256][256] par exemple , puis vous écrivez le code suivant:
for(j=0;j<256;j++)
{
for(i=0;i<256;i++)
{
for(x=0;x<3;x++)
{
for(y=0;y<3;y++)
{
somme=somme+mat[i][j]*tab[y+i][x+j];
}
}
matdes[i+1][j+1]=somme;
}
}
puis vous charger la matrice matdes[i][j] dans une image et ça va marcher.
Rejoignez-nous