begin process at 2012 02 10 01:03:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Ouverture de fichiers images


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

Ouverture de fichiers images

lundi 24 avril 2006 à 09:21:54 | Ouverture de fichiers images

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. Pour le moment, j'ai réalisé chaque code indépendemment des autres (extraction des frames et enregistrement de celles-ci dans un dossier, recupération des frames dans ce même dossier avec FindNextFile et FindFirstFile et enfin mon traitement d'image appliqué à une image).
Je voudrais maintenant tout réunir et appliquer mon traitement à toutes les images du dossier. J'ai utilisé "fopen" pour le traitement sur une seule image afin de l'ouvrir et je ne sais pas quelle fonction utiliser pour ouvrir les images les unes après les autres afin d'y appliquer le traitement.


Pouvez-vous m'aider s'il vous pait?  Merci!!
lundi 24 avril 2006 à 11:11:01 | Re : Ouverture de fichiers images

yoyo269

Membre Club
Utilise une boucle pour faire un fopen sur chaque fichier image, en t'aidant de FindNextFile.

YOYO, @+.
[font=Comic Sans MS][size=3][b][green][:D] YOYO [;)][/green][/b][/size=3][/font=Comic Sans MS]
lundi 24 avril 2006 à 11:33:55 | Re : Ouverture de fichiers images

elo29

Merci pour ta réponse!!

En fait j'utilise ce code pour énumérer les fichiers de mon dossier :

hfind=FindFirstFile("*.*",&wfd);
if(hfind==INVALID_HANDLE_VALUE)return 0;
do{
cout<<wfd.cFileName<<"\n";
}while(FindNextFile(hfind,&wfd));
FindClose(hfind);

Il faudrait que j'insère mon traitement d'images dans le "do" mais je ne sais pas comment appliquer mon fopen : fopen(wfd.cFileName,"rb"); ??? Pour récupérer à chaque fois le nom de l'image qui est en cours de lecture.
lundi 24 avril 2006 à 11:48:24 | Re : Ouverture de fichiers images

yoyo269

Membre Club
Oui c'est ça ! Tu dois ouvrir le fichier dans le do et le refermer également :

FILE * Fichier;
hfind=FindFirstFile("*.*",&wfd);
if(hfind==INVALID_HANDLE_VALUE)return 0;
do{
cout<<wfd.cFileName<<"\n";

Fichier = fopen(wfd.cFileName,"wb"); // ouverture pour écriture
// TRAITEMENT
fclose(Fichier);

}while(FindNextFile(hfind,&wfd));
FindClose(hfind);

YOYO, @+.
[font=Comic Sans MS][size=3][b][green][:D] YOYO [;)][/green][/b][/size=3][/font=Comic Sans MS]
lundi 24 avril 2006 à 14:31:51 | Re : Ouverture de fichiers images

elo29

OK merci, mais il faut juste mettre des guillemets("wfd.cFileName","wb") pour que ça marche. Cependant j'ai un autre souci, il ajoute les valeurs demandées au fur et à mesure des images. Par exemple, j'ai un seuil S=190 dans la première image et de S=20 dans la deuxième et lui va me mettre S=190+20= 210 pour la deuxième et ainsi de suite.  
lundi 24 avril 2006 à 14:40:18 | Re : Ouverture de fichiers images

yoyo269

Membre Club
Surtout pas de guillemets !!! Sinon ça sert à rien de rechercher les fichiers qui sont dans ton dossier.
Si tu laisses comme ça, il va chercher à ouvrir un fichier qui s'appellerait "wfd.cFileName".
Pour ton pb de valeur, mets du code parce que avec ce que tu me dis je peux pas t'aider.

YOYO, @+.
[font=Comic Sans MS][size=3][b][green][:D] YOYO [;)][/green][/b][/size=3][/font=Comic Sans MS]
lundi 24 avril 2006 à 14:55:18 | Re : Ouverture de fichiers images

elo29

Voici mon code et si quand je ne mets pas les "" il n'ouvre pas les images contenues dans le dossier images de mon projet. Il ne les ouvre que si je les sors du dossier.

#include <Windows.h>
#include <iostream.h>
#include <stdio.h>


#define largeurimage 640
#define hauteurimage 480
#define N 501
#define M 54


int main () {

unsigned char *imageBMP;
imageBMP=(unsigned char *)malloc(3*largeurimage*hauteurimage*sizeof(unsigned char));
int *tempimBMP;
int **image;
int **imbsens;
unsigned char tmp[N];
int somme=0;
int seuil;
int i,j;
tempimBMP=(int*)malloc(largeurimage*hauteurimage*sizeof(int));

FILE* fichier;

WIN32_FIND_DATA wfd;
HANDLE hfind;
hfind=FindFirstFile("c:images\\*.bmp",&wfd);
if(hfind == INVALID_HANDLE_VALUE) return 0;
do {
fichier=fopen(wfd.cFileName,"rb");
if(!fichier)
{
printf ("Probleme d'ouverture du fichier image\n");
return 0;
}

fread (tmp,M,1,fichier);
fread (imageBMP,3*hauteurimage*largeurimage,1,fichier);
fclose(fichier);

for(i=0;i<largeurimage*hauteurimage;i++)
{
tempimBMP[i]=(int)(0.23*imageBMP[i*3]+0.59*imageBMP[i*3+1]+0.11*imageBMP[i*3+2]);//Passage en niveau de gris
}
//Allocation mémoire de l'image
image=(int**)malloc(largeurimage*sizeof(int*));

for (i=0;i<hauteurimage;i++)
{
image[i]=(int*)malloc (largeurimage*sizeof(int));
}

//Allocation mémoire de l'image dans le bon sens
imbsens=(int**)malloc(largeurimage*sizeof(int*));

for (i=0;i<hauteurimage;i++)
{
imbsens[i]=(int*)malloc (largeurimage*sizeof(int));
}



//Initialisation de l'image à tester en niveau de gris (0-256)

for (i=0;i<hauteurimage;i++)
{
for(j=0;j<largeurimage;j++)
{
image[i][j]=tempimBMP[j+i*largeurimage];
}
}


//Calcul du seuil de l'image

for(i=0;i<hauteurimage;i++)
{
for (j=0;j<largeurimage;j++)
{
somme+=image[i][j];
}
}
seuil=2*somme/(hauteurimage*largeurimage);

for(i=0;i<hauteurimage;i++)
{
for (j=0;j<largeurimage;j++)
{
imbsens[i][j]=image[hauteurimage-1-i][j];
}
}

cout<<wfd.cFileName<<"\n";

} while (FindNextFile(hfind,&wfd));
FindClose(hfind);

return 0;
}



lundi 24 avril 2006 à 15:04:05 | Re : Ouverture de fichiers images

yoyo269

Membre Club
Change cette ligne :
hfind=FindFirstFile("c:\\images\\*.bmp",&wfd);

Sinon, j'y connais rien en traitement d'image mais si tu cherches à modifier qq chose aux images, je vois pas comment tu peux faire sans jamais écrire dans le fichier image.

YOYO, @+.
[font=Comic Sans MS][size=3][b][green][:D] YOYO [;)][/green][/b][/size=3][/font=Comic Sans MS]
lundi 24 avril 2006 à 15:06:27 | Re : Ouverture de fichiers images

elo29

Je ne modifie rien aux images, je ne fais qu'extraire des informations des pixels.
En tout cas merci pour ton aide, A+
lundi 24 avril 2006 à 15:11:21 | Re : Ouverture de fichiers images

yoyo269

Membre Club
Et maintenant ça fonctionne ?

YOYO, @+.
[font=Comic Sans MS][size=3][b][green][:D] YOYO [;)][/green][/b][/size=3][/font=Comic Sans MS]

1 2 3 4

Cette discussion est classée dans : images, dossier, image, traitement, appliquer


Répondre à ce message

Sujets en rapport avec ce message

traitement d'image [ par rodrigo22 ] Je travaille actuellement sur un projet ou je dois etudier la deformation d'une image lorsque l'on projette celle ci sur une surface non perpendiculai 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 traitement d'image [ par rakicky ] salut a tousvoila,j'ai un travail sur le traitement d'imageOn m'a dis de creer des fonctions capable de detecter le contour d'image en C et de le test traitement d'images [ par thamoura ] j'essai de créer un programme qui ouvre un image bitmap cherche la zone texte existante dans l'image je crypte cette zone puis je faits le tatouage de Erosion et dilatation d'image - Traitement d'images [ par mahdouch1 ] Bonjour,Est ce que quelqu'un peut me fournir un code source C qui fait l'érosion et la dilatation d'une image en niveaux de gris merci beaucoup d'avan traitement et prédiction de vidéo [ par celinebac ] Si on a à pointer sur une vidéo puis detecter l'ensemble de ses images, ensuite prendre chaque image à part et la traiter pixel par pixel et classer c Traitement d'image [ par GMeryam ] Bonjour, Je dois avoir une idée sur les différents applications de traitement d'images sous Matlab. S'il vous plait si vous avez des cours et des trav Enregistrer une image dans un fichier [ par Flaken ] Bonjour, Voilà mon problème : j'ai une IHM, que j'ai créer en c++ où elle affiche les images de la webcam. Dans cette IHM j'ai crée une petit fenêtre traitement d'image : binarisation , anamorphoese et reconnaissance de bordure [ par addoudi ] bonjour je suis sensé avoir une photo d'un cadre dessinée sur feuille blanche mais pris en photos sous de mauvaises condition , je dois redresser l'im


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,608 sec (4)

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