ouvrir un fichier JPG en C

ouvrir un fichier JPG en C - C - Programmation

Marsh Posté le 05-12-2006 à 16:36:31    

salut!
je dois faire un projet en C qui effectue un traitement d'image, plus précisement de la corrélation de phase entre 2 images. Le programme doit donc ouvrir les 2 images. Hors c'est la que je bloque.
J'ai fais de multiple recherche pour savoir si fopen() pouvait ouvrir une image en JPG, mais rien trouvé. Donc je me tourne vers vous: peut-on ouvrir une image JPG avec la fonction fopen() ? si non, quelle est la méthode à utiliser ?
 
Je précise que j'ai déjà essayé d'ouvrir une image mais c'est pas du tout concluant.
 
merci!

Reply

Marsh Posté le 05-12-2006 à 16:36:31   

Reply

Marsh Posté le 05-12-2006 à 16:39:13    

oui, en implémentant l'algo de lecture du jpeg.
fopen ouvre un fichier point barre.
 
La méthode à utiliser est de trouver une bibliothèque qui fait cette chose pour toi, comme Jasper par exemple.


Message édité par _darkalt3_ le 05-12-2006 à 16:54:27

---------------
Töp of the plöp
Reply

Marsh Posté le 05-12-2006 à 16:45:24    

boullette38 a écrit :

je dois faire un projet en C qui effectue un traitement d'image, plus précisement de la corrélation de phase entre 2 images. Le programme doit donc ouvrir les 2 images. Hors c'est la que je bloque.
J'ai fais de multiple recherche pour savoir si fopen() pouvait ouvrir une image en JPG, mais rien trouvé. Donc je me tourne vers vous: peut-on ouvrir une image JPG avec la fonction fopen() ? si non, quelle est la méthode à utiliser ?

 

Je précise que j'ai déjà essayé d'ouvrir une image mais c'est pas du tout concluant.


Tu bloques où ? Parce que oui, fopen() permet d'ouvrir un fichier binaire en lecture ("rb" ).

 

http://mapage.noos.fr/emdel/notes.htm#fichiers

 

Mais ensuite, il faut le lire, facile avec fgetc() ou fread(), et surtout interpréter les données, et c'est là que les ennuis commencent...

 

Le format JPG est compliqué et il faut en connaitre la spécification détaillée pour prétendre le décoder et en créer une image 'plate'.

 

http://www.wotsit.org/
(purée, y'a de plus en plus de pub sur ce site, ça devient pénible...  va falloir faire un miroir...non, j'ai rien dit)

 

Ceci-dit, je suis à peu près certain qu'il existe des outils 'à la ligne de commande' qui savent convertir un fichier JPG en BMP, par exemple, ce qui est beaucoup plus facile à traiter... A moins que le sujet de l'exercice soit justement de lire un fichier JPG...

 

Message cité 1 fois
Message édité par Emmanuel Delahaye le 05-12-2006 à 16:46:58

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 05-12-2006 à 16:55:31    

Emmanuel Delahaye a écrit :

Ceci-dit, je suis à peu près certain qu'il existe des outils 'à la ligne de commande' qui savent convertir un fichier JPG en BMP, par exemple, ce qui est beaucoup plus facile à traiter... A moins que le sujet de l'exercice soit justement de lire un fichier JPG...


 
Jasper possède un ensemble de samples qui font ce genre de truc les doigts dans le nez.
http://www.ece.uvic.ca/~mdadams/jasper/


Message édité par _darkalt3_ le 05-12-2006 à 16:55:39

---------------
Töp of the plöp
Reply

Marsh Posté le 05-12-2006 à 17:05:48    

en fait, j'ai une camera intelligente (avec un dsp intégré) et en sortie, j'ai un flux vidéo qui a comme caractéristique de sortir une séquence d'images JPG (la référence de la caméra: VCM50 de Vision Components, pour plus de précision).
 
Le but final sera de faire du traitement temps réel sur le flux vidéo directement afin de trouver le centre d'un objet (qui sera filmé en continue).  
 
La contrainte donc, c'est que je dois bosser en C.
 
Voila le pourquoi du comment je dois bosser sur du JPG directement.  
 
Je précise que les images sur lesquelles je vais devoir travailler auront déjà un pré-traitement et ressembleront à ça: fond blanc et countour des objets à traiter en noir, donc la conversion en BPM ne sera pas nécessaire je pense (et puis ça prendrait trop de temps de calcul de toute facon).


Message édité par boullette38 le 05-12-2006 à 17:13:35
Reply

Marsh Posté le 05-12-2006 à 17:15:03    

à mon avis le miens pour faire du TI sans tout recoder c'est opencv
http://tuxlr.no-ip.org/opencv.php?lang=fr
 
en deux pov copier coller tu as une appli qui fait pas mal de truc, y 'a de bon tut partout sur le net et je te recommande le forum sur yahoo...
 


---------------
Fight with the best, die with the rest ...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed