Rechercher : dans
Par :

Matlab lire images dans fichier 'raw'

Dernière réponse le 30 jun 2009 à 12:17:39 cedji, le 29 jun 2009 à 09:11:08 
 Signaler ce message aux modérateurs

Bonjour,

Je travaille actuellement sur un projet et cela fait plusieurs jours que je suis bloquée.
Je dispose d'un fichier 'raw' contenant une certaine quantite d images, je ne sais pas combien exactement (entre 110 et 130 je pense). Mais jai un probleme pour les ouvrir. J ai fait une boule mais celle ci ne sarrete jamais meme quand il n y a plus de photos, elle continue a afficher des images blanches...
Voici mon programme:

clear all;
close all;

fichier1 = 'HighEnergyCTHeadCoil.raw'

f1 = fopen(fichier1,'r');

im1 = fread(f1,[512 512],'int16','ieee-le')

end1 = feof(f1)

c=0;

while (end1==0)
im1 = fread(f1,[512 512],'int16','ieee-le');
figure,imagesc(im1)
colormap(gray)
c=c+1
end


Est ce que qqn pourrait m'aider svp?

Merci d'avance

Configuration: Windows XP Internet Explorer 6.0

Meilleures réponses pour « Matlab lire images dans fichier 'raw' » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
[Gravure] Graver ou lire un fichier .NRG VoirUn fichier .NRG est une image de CD, c'est-à-dire une copie binaire d'un CD ou d'un DVD sous forme d'un fichier Les fichiers .NRG sont utilisables par des programmes de gravure ou bien des lecteurs de disques virtuels (tels que Daemon...
[Gravure] Graver ou lire un fichier .MDF ou .MDS VoirUn fichier MDF est une image ISO créée avec le logiciel Alcohol 120°. Le fichier .mdf doit nécessairement être accompagné d'un fichier .mds, fournissant des informations sur le CD audio ou le DVD, pour pouvoir être gravé. Alcohol 120° est...
Fichier RAW VoirFormat RAW Un fichier RAW est un fichier graphique. Le format RAW est considéré comme un format de qualité dans la mesure où les données sont stockées de manière brute, sans aucun traitement, ce qui permet aux photographes de pouvoir les retoucher...
Fichier ISO (Image ISO) VoirFormat ISO Un fichier possédant l'extension .ISO est une image ISO, c'est-à-dire une image d'un disque (CD, DVD ou disque dur) sous forme de fichier, créer avec un logiciel de gravure. Comment lire un fichier ISO ? En l'absence de graveur, il...
Fichier EPS VoirFormat EPS Un fichier EPS (Encapsulated PostScript) est un fichier PostScript encapsulé, c'est-à-dire un fichier PostScript prévu pour pouvoir être incorporé dans un autre fichier. Comment lire un fichier EPS ? Pour ouvrir un tel fichier, il...

1

Char Snipeur, le 29 jun 2009 à 11:08:00

While (end1==0) ?
end1 est une variable, quand penses-tu qu'elle est mise à jour ?
tente
while(feof(f1)==0) Salutation ! (il faut bien que vous compreniez que j'ai TOUJ­OURS raison)
Char Snipeur

Répondre à Char Snipeur

2

cedji, le 29 jun 2009 à 11:21:02

J'ai testé avec ce que vous m'avez proposé mais ca ne fonctionne toujours pas...
javias oublié de préciser le message d erreur que jobtiens :

Out of Windows Resources: Allocation of bitmap failed. Disabling backingstore for current figure.

Peut etre que cela peut aider...

merci

Répondre à cedji

3

Char Snipeur, le 29 jun 2009 à 11:41:40

C'est sur, ça peut aider.
Il faut alors savoir quand il arrive. Dès la première image ou plus tard.
Si c'est plus tard, c'est un problème de ressource comme indiquer. Tu doit avoir de grosses images. Salutation ! (il faut bien que vous compreniez que j'ai TOUJ­OURS raison)
Char Snipeur

Répondre à Char Snipeur

4

cedji, le 29 jun 2009 à 12:11:49

Ca arrive au bout de 130 images.
Les images sont de type 512*512
Est que cela veut dire qu il y a en fait plus d images dans le fichier?? pcq je n ai pas reussi a savoir le nombre d images dans le fichier...

Répondre à cedji

5

Char Snipeur, le 29 jun 2009 à 12:46:12

512*512*130*(3*8bit/pixel)=100Mo ça commence à faire.
D'après le message c'est plus un problème de ressource, c'est à dire de taille mémoire. Salutation ! (il faut bien que vous compreniez que j'ai TOUJ­OURS raison)
Char Snipeur

Répondre à Char Snipeur

6

cedji, le 29 jun 2009 à 12:50:01

Et comment je peux faire pour resoudre le problème? Parce que si je réduis la taille des images, ca ne va pas altérer leur qualité?
Sinon comment je peux faire pour savoire exactement le nombres d'images du fichier? pcq jai essayé plusieurs méthodes avec length ou size et ca ma donné des resultats bizarre...
Merci

Répondre à cedji

7

Char Snipeur, le 29 jun 2009 à 14:00:39

évite d'afficher les image !
mets les en mémoire tampon si tu veux, mais ne les affiches pas. Salutation ! (il faut bien que vous compreniez que j'ai TOUJ­OURS raison)
Char Snipeur

Répondre à Char Snipeur

8

cedji, le 29 jun 2009 à 14:06:28

Ba oui mais le probléme cést que j ai besoin de les afficher car je veux après travailler dessus, sur le contraste... etc
Comment puis-je savoir combien d'images il y a en tout svp?
merci

Répondre à cedji

9

cedji, le 29 jun 2009 à 15:14:04

Sil vous plait est ce que vous pouvez m'aider??? C est tres important...
merci

Répondre à cedji

10

Char Snipeur, le 29 jun 2009 à 16:24:32

Je ne sais pas. Mais afficher plus de 130 image, c'est du délire ! ça fait plein de truc ouvert, tu ne t'en sortira jamais !
Dans un premier temps, test sans afficher les images, voir si le problème viens bien de là.
Ensuite, stocke les images en mémoire et affiche les au fur et à mesure.
Ou sinon, tu fais une pause entre chaque image de manière à en traiter une et à la fermer avant d'ouvrir la suivante. Salutation ! (il faut bien que vous compreniez que j'ai TOUJ­OURS raison)
Char Snipeur

Répondre à Char Snipeur

11

cedji, le 29 jun 2009 à 16:47:41

Je viens de faire le test sans affichage d'image et jen conclue qu il y a 305 images dans le fichier...
maintenant y a t il un pour modifier la boucle pour n'afficher par exemple que 5 images a la fois? par exemple de la 200 a la 205?

merci

Répondre à cedji

12

Char Snipeur, le 30 jun 2009 à 08:11:32

Ba oui, avec un if.
if(200<c && c<205) imagesc(fff) Salutation ! (il faut bien que vous compreniez que j'ai TOUJOURS raison)
Char Snipeur

Répondre à Char Snipeur

13

cedji, le 30 jun 2009 à 11:50:22

Merci ca a marché

maintenant jai un autre probleme
en fait je dispose de deux fichiers 'raw'
le premier comprend 305 images, est de type [512 512] avec precision int16
et le deuxieme comprend 512 images est de type [512 512] avec precision float

je sais que les images contenues dans les deux fichiers comprennent les meme images, la seule difference etant la qualité de ces images. dans le premier fichier, on voit tous les details mais les images ne sont pas parfaites (Bruit...), dans le deuxieme fichier limage est parfaite mais il manque des details

ce que je veux faire : superposer les deux images. le probleme, cest que le nombre dimages contenues dans les fichiers n'est pas le meme.
a laide d'un logiciel de traitement dimage, jai reussi a realise ce travail. en fait le probleme est que les images du deuxieme fichiers sont plus grande c pour ca quil y en a plus. il sagit en fait dimages en coupe dun objet. et comme dans le deuxieme fichier lobjet est plus grand et bien jai plus dimage

je voudrai donc pouvoir redimmensionner la deuxieme image tout en restant en [512 512]
Je ne vois pas trop comment faire
Jai essaye ac la fontion 'resize' mais ca diminue le nombre de colonnes de la matrice....

Jespere avoir été claire

Merci de m'aider si vous le pouvez

Répondre à cedji

14

 Char Snipeur, le 30 jun 2009 à 12:17:39

Pas très clair. Salutation ! (il faut bien que vous compreniez que j'ai TOUJ­OURS raison)
Char Snipeur

Répondre à Char Snipeur