Fonction renvoyant une matrice
taous
-
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21506 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 ou - Guide
- Fonction miroir - Guide
- Fonction remplacer sur word - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Fonction moyenne excel - 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;
}