aideplz
Messages postés8Date d'inscriptionjeudi 5 novembre 2009StatutMembreDernière intervention15 novembre 2009
-
5 nov. 2009 à 13:33
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 2013
-
16 nov. 2009 à 08:56
Bonjour tout le monde, je veux appliquer des traitements sur une image avec le language C (non pas le C++) à l'aide d'un programme et je sais pas comment la lire, plus précisément, je l'ai sous forme de matrice dans un fichier et je veux utiliser cette matrice dans mon programme?
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 6 nov. 2009 à 09:06
Relie bien ton poste et tu verras que tu ne donnes aucune informations utiles pour qu'on puisse t'aider.
Déjà tu veux lire une image, quel est le format, la compression, la résolution, le nombre de bit par pixel!!! Ya des bibliothèque pour ca!
Après, "je VEUX un code tout fait en C mais pas en C++"!!! Ça veux dire quoi ça. Tu n'est pas capable de faire toi même le transfert de C++ en C!!!
Regarde quand même sur sur mon site internet, y a un soft en traitement de l'image en C++ (C like), ca pourrait t'intéresser pour voir comment on met en place des algorithmes en traitement de l'image.
aideplz
Messages postés8Date d'inscriptionjeudi 5 novembre 2009StatutMembreDernière intervention15 novembre 2009 6 nov. 2009 à 17:42
Bonsoir,
Pour le format c'est pas important du fait que j'ai enregistré l'image sous forme de matrice dans un fichier .txt, donc je veux juste lire cette matrice à partir de ce fichier.
mon pb se pose à ce niveau " lire des données enregistrées dans un fichier externe"
Si vous pouvez m'aider je vous envoie le programme.
Merci d'avance
Remarque, je suis débutante je me débrouille à peine avec le C donc je connais pas les bibléothèques du C++, c'est pour cela je prefere tout faire en C.
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 6 nov. 2009 à 17:59
Regarde les fonctions fopen, fread, fclose...
Une fois que tu as lu tout ton fichier et que tu as placé tout dans un buffer, il faut que tu découpes ton buffer pour convertir chaque pixel en int
Tu vas faire cela grâce aux séparateurs que tu as placé (espace, virgule, tabulation, retour à la ligne...)
Montre ton code que tu utilises, on pourra t'aider mais pas faire ton travail à ta place.
A+
aideplz
Messages postés8Date d'inscriptionjeudi 5 novembre 2009StatutMembreDernière intervention15 novembre 2009 6 nov. 2009 à 20:05
Bonsoir,
Voilà mon code en C, mon problème est comment appeler la fonction load_values dans le main.
Précision: Le fichier "orig.txt" contient une matrice 256*256 que je veux remplir dans le main dans la matrice "f[256][256]".
int load_values(float m[256][256])
{
char tmp[BUFF_SIZE];
FILE *f;
int i, j;
if (m == NULL)
return -1;
i = 0;
j = 0;
f = fopen(MY_FILE, "r");
if (f == NULL)
return -1;
while (fgets(tmp, sizeof(tmp), f) != NULL)
{
m[i][j] = atof(tmp);
i i 255 ? 0 : i++;
if (i == 0)
j++;
}
return 0;
}
int main()
{
int i,j;
int n=256;
float g1[n][n],g2[n][n];
float d1[n][n],d2[n][n],d[n][n];
float p1[256][256];
float p2[256][256];
float f[256][256];
// f c'est une matrice 256*256 elle est enregistree dans le fichier "orig.txt"
float norm[n][n];
float S[n][n];
float m [n][n];
float P1[n][n];
float P2[n][n];
float lambda = 0.8;
float tau = 3;
int z;
for (z=0; z<100; z++)
{
/*Calcul de la matrice divergence en direction de X*/
for(i=0;i<n;i++)
for(j=0;j<n;j++)
d1[i][j]=p1[i][j];
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 16 nov. 2009 à 08:56
j'ai perdu espoir personne ne pourra le faire j'en suis sûre...
Nous on sait le faire, mais on va pas faire ton travail à ta place. Encore une fois regarde mes sources et tu trouveras plein d'exemple pour lire une image bmp jpeg et gif...
Pour les autres formats, j'utilise la lib gratuite FreeImage.
A+