begin process at 2012 05 30 10:16:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

traitement d'images


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

traitement d'images

jeudi 5 novembre 2009 à 13:33:24 | traitement d'images

aideplz

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?
vendredi 6 novembre 2009 à 04:36:09 | Re : traitement d'images

aideplz

Elle est si difficile ma question?!!!
vendredi 6 novembre 2009 à 09:06:25 | Re : traitement d'images

Pistol_Pete

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.

A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
vendredi 6 novembre 2009 à 17:42:47 | Re : traitement d'images

aideplz

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.
vendredi 6 novembre 2009 à 17:59:47 | Re : traitement d'images

Pistol_Pete

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+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
vendredi 6 novembre 2009 à 20:05:16 | Re : traitement d'images

aideplz


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]".




****************************************
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MY_FILE "orig.txt"
#define BUFF_SIZE 1024


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];

for(i=1;i<n-1;i++)
for(j=0;j<n;j++)
d1[i][j]= d1[i][j]-p1[i-1][j];

if(i=n-1)
for(j=0;j<n;j++)
d1[i][j]= - p1[i-1][j];

/*Calcul de la matrice divergence en direction de Y*/
for(i=0;i<n;i++)
for(j=0;j<n;j++)
d2[i][j]=p2[i][j];

for(i=0;i<n;i++)
for(j=1;j<n-1;j++)
d2[i][j]=d2[i][j]-p2[i][j-1];

if(j=n-1)
for(i=0;i<n;i++)
d2[i][j]= - p2[i][j-1];

for(i=0; i<n;i++)
{
for(j=0;j<n;j++)
d[i][j]= d1[i][j]+d2[i][j];
}


for(i=0; i<n; i++)
{
for(j=0;j<n;j++)
{
S[i][j] = d[i][j] - f[i][j];
m[i][j] = S[i][j] / lambda;
}
}


/*Calcul de la matrice gradient en direction de X*/
for(i=0;i<n;i++)
for(j=0;j<n;j++)
g1[i][j]= m[i+1][j]-m[i][j];

for(j=0;j<n;j++)
g1[n-1][j]=0;

/*Calcul de la matrice gradient en direction de Y*/
for(j=0;j<n;j++)
for(i=0;i<n;i++)
g2[i][j]= m[i][j+1]-m[i][j];

for(i=0;i<n;i++)
g2[i][n-1]=0;

// Calcul de la norme

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
norm[i][j]= sqrt(g1[i][j]*g1[i][j]+g2[i][j]*g2[i][j]);
}

// Calcul final

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)

P1[i][j] = (p1[i][j] + tau * g1[i][j])/(1 + tau * norm[i][j]);
P2[i][j] = (p2[i][j] + tau * g2[i][j])/(1 + tau * norm[i][j]);
}


// Reconstruction de p1 et p2

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)

p1[i][j] = P1[i][j];
p2[i][j] = P2[i][j];
}
}


return 0;
}

vendredi 6 novembre 2009 à 21:24:42 | Re : traitement d'images

Aly05

Salut,

Peux-tu me dire quelle méthode utilises-tu pour traiter ton image, comment tu fais pour passer d'une image à une matrice?

Merci!
vendredi 6 novembre 2009 à 21:28:38 | Re : traitement d'images

aideplz

bonsoir,
J'ai utilisé Matlab pour lire l'image, j'ai récupéré la matrice que j'ai enregistré dans le fichier "orig.txt"
vendredi 6 novembre 2009 à 21:31:20 | Re : traitement d'images

aideplz

Re,
J'ai utilisé cette méthode car je connais pas une méthode directe pour lire mon image avec le C,
dimanche 15 novembre 2009 à 08:39:24 | Re : traitement d'images

vintrouj

Bonjour,

As-tu exploré libjpeg (http://www.ijg.org/)?

Si tu n'avais pas été réfractaire au C++ tu aurais probablement trouvé ton bonheur avec Boost GIL (http://www.boost.org/doc/libs/1_40_0/libs/gil/doc/index.html).

jules

1 2

Cette discussion est classée dans : images, programme, traitement, matrice


Répondre à ce message

Sujets en rapport avec ce message

Traitement d'une série d'images en C [ par elo29 ] Bonjour, Je travaille avec visual C++ sur du traitement d'images. J'effectue mon traitement sur une image mais j'aimerais l'appliquer à une série d'i [C] charger plusieurs images [ par elo29 ] Bonjour! Je travaille avec visual C++ mais mon programme est écrit en C. Le but de mon programme est de charger une image , d'en extraire une certain Traitement d'images [ par Supopste ] Bonjour à tous et à toutes,J'aimerais savoir quelle était la méthode la plus efficace pour traiter des images. Je m'explique, stocker une image dans u Ouverture de fichiers images [ par elo29 ] Bonjour, Je travaille sur un projet dans lequel je dois capturer une vidéo, en extraire les images et appliquer un traitement à chacune d'entre elles Traitement vidéo [ par elo29 ] Bonjour! J'enregistre une vidéo à partir d'une caméra et j'en extrais toutes les images que je stocke dans un fichier. Je voudrais éviter d'enregist Conversion image BMP [ par emrod ] Salut, j'aimerais convertir une image BMP 16 bits en image BMP 24 bits, est-ce qu'il existe une fonction ou un programme pour faire ça ?En fait, j'ai opérations matrice /temps exécution prg [ par 0wil0 ] Bonjour, J'effectue dans mon programme des opérations relativement simples sur des matrices (additions, soustractions, moyenne des éléments de matrice redimensionnement bmp [ par LoloS ] Bonjour,Je crée un programme sous C++Builder qui a besoin de charger des images bmp (noir et blanc). Les images dont je dispose doivent être redimensi programme de traitement de phrase [ par neurnaje ] bonjour je voudrais quelqu'un qui pourrait me dépanner avec le programme suivant,je vous remercie de me répondre vite vite,c très urgent merci beaucou matrice representative d'une image jpeg [ par fatrak ] Salut, Je dois faire de la reconnaissance de formes sur images jpeg  affichée dans un dc sur une DialogBox. Maintenant je dois faire divers traitemen


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales