Faire le gradient d'une image en C
MekRyme
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je veux faire un traitement d'image en langage C, j'ai commencé avec la fonction gradient mais ça n'a pas marché voici le code:
s'il vous plait aidez moi c'est urgent!!!!
Je veux faire un traitement d'image en langage C, j'ai commencé avec la fonction gradient mais ça n'a pas marché voici le code:
int** gradientMatrix(FILE* lpFile, int **lpMatrix, int nLines, int nColumns) { int nI, nJ,fx=0,fy=0; int** GMatrix; GMatrix = AllocMatrix(nLines, nColumns); LoadMatrix(lpFile, GMatrix, nLines, nColumns);//chargement de l'image printf("\nGRADIENT :\n"); for (nI = 0; nI < nLines; nI++) { for (nJ = 0; nJ < nColumns; nJ++) { fy = abs(lpMatrix[nI][nJ+1] - lpMatrix[nI][nJ]); GMatrix[nI][nJ]= fy; } printf("\n"); } DisplayMatrix(GMatrix, nLines, nColumns);// fonction d'affichage return GMatrix; }
s'il vous plait aidez moi c'est urgent!!!!
A voir également:
- Faire le gradient d'une image en C
- Image iso - Guide
- Légender une image - Guide
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille image - Guide
- Transformer une image en icone - Guide
1 réponse
pas clair ton histoire.
déjà tes bornes ne sont pas bonnes, tu risque le débordement de tableaux et donc l'erreur de segmentation.
Ensuite, le gradient, c'est un vecteur. Je suppose que tu veux afficher sa norme, mais pour ça il faut calculer ces deux composantes, là tu n'en calcul qu'une. Ensuite, tu fait le choix de dériver en aval, plutôt qu'une dérivée centrée, pourquoi pas, mais pourquoi ?
Ensuite, comme il s'agit d'image, il faut bien faire attention aux valeurs retournées, qu'elles restent dans le bon domaine (mais ça doit être bon).
déjà tes bornes ne sont pas bonnes, tu risque le débordement de tableaux et donc l'erreur de segmentation.
Ensuite, le gradient, c'est un vecteur. Je suppose que tu veux afficher sa norme, mais pour ça il faut calculer ces deux composantes, là tu n'en calcul qu'une. Ensuite, tu fait le choix de dériver en aval, plutôt qu'une dérivée centrée, pourquoi pas, mais pourquoi ?
Ensuite, comme il s'agit d'image, il faut bien faire attention aux valeurs retournées, qu'elles restent dans le bon domaine (mais ça doit être bon).