Fonction renvoyant une matrice
taous
-
lami20j Messages postés 21644 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21644 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,voila je travaille sur des image qui sont stockées sous forme de matrice,je dois faire une fonction qui permet de binariser l'image et qui aura comme paramètres d'entrée la matrice img[Taille][Taille],le problème est qu'elle doit retourner une autre matrice im_bin[Taille][Taille] qui contient l'image binarisée.
void *binariser(int mat[][643],int t,int *ptr)
{
int i,j;
for(i=0;i<t;i++)
{
for(j=0;j<t;j++)
{
if(mat[i][j]<=seuil)
mat1[i][j]=0;
if(mat[i][j]>seuil)
mat1=1;
}
}
ptr=&mat1[0][0];
return(ptr);
}
///voici l'appele à la fonction:
binariser(img,643,&im_bin[0][0];
le problème est que la fonction me renvoi seulement le premier èlèment de la matrice,aidez moi svp ,c'est pour mon projet de fin d'ètude et le temps presse.
void *binariser(int mat[][643],int t,int *ptr)
{
int i,j;
for(i=0;i<t;i++)
{
for(j=0;j<t;j++)
{
if(mat[i][j]<=seuil)
mat1[i][j]=0;
if(mat[i][j]>seuil)
mat1=1;
}
}
ptr=&mat1[0][0];
return(ptr);
}
///voici l'appele à la fonction:
binariser(img,643,&im_bin[0][0];
le problème est que la fonction me renvoi seulement le premier èlèment de la matrice,aidez moi svp ,c'est pour mon projet de fin d'ètude et le temps presse.
A voir également:
- Fonction renvoyant une matrice
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Vous ne pouvez pas modifier une partie de matrice ✓ - Forum Excel
- Fonction remplacer sur word - Guide
1 réponse
Salut,
Le type de ta fonction est void donc elle n'envoie rien.
En revanche je vois que tu as int *ptr en tant que paramètre.
Au moment de l'appelle de ta fonction le pointeur passer un argument est censé contenir l'adresse de mat1
Tu peux essayer
Le type de ta fonction est void donc elle n'envoie rien.
En revanche je vois que tu as int *ptr en tant que paramètre.
Au moment de l'appelle de ta fonction le pointeur passer un argument est censé contenir l'adresse de mat1
Tu peux essayer
void binariser(int mat[][643],int t,int *ptr)
{
int i,j;
for(i=0;i<t;i++){
for(j=0;j<t;j++){
if(mat[i][j]<=seuil)
mat1[i][j]=0;
if(mat[i][j]>seuil)
mat1=1;
}
}
ptr=mat1;
}