Effacer les filtres
Effacer les filtres

How to open .raw files in matlab?

363 vues (au cours des 30 derniers jours)
Pooja
Pooja le 18 Avr 2013
Commenté : zinah n le 24 Sep 2019
Hello,
How will I open my .raw files in matlab?

Réponse acceptée

Jan
Jan le 21 Avr 2013
Even after the large number of questions for clarifications and a lot of comments, the actual problem does not get clearer. It seems, like our messages do no reach you, Pooja:
It is your turn to find out the details of the format.
We cannot help you, when we have to guess, what you need.
  14 commentaires
Pooja
Pooja le 25 Avr 2013
Thank you so much.Got the o/p
if true
% row=1024; col=1024;
fin=fopen('b1.raw','r');
I=fread(fin,row*col,'uint8=>uint8');
Z=reshape(I,row,col);
Z=Z';
k=imshow(Z)
end
Walter Roberson
Walter Roberson le 25 Avr 2013
If the question is finished please Accept one of the Answers.

Connectez-vous pour commenter.

Plus de réponses (3)

Image Analyst
Image Analyst le 18 Avr 2013
Pooja, do you have any idea at all ...
  1. what the lateral size of the image is (number of rows and columns), and
  2. whether it's grayscale, RGB color or multispectral,
  3. if color how the red, green, and blue values are positioned (interleaved)
  4. how many bits (8 or 16 are typical) is the pixel written out
  5. if there is a header and how long it might be?
Or are you willing to guess at some typical values? You can pass in an array to the fread() function to get back a 2D array.
  8 commentaires
Pooja
Pooja le 21 Avr 2013
sorry, instead of stHeader.BytesPerVoxel == 1 what should i give?
fid = fopen('mars.raw');
rawdata = fread(fid, inf, '*uint8');
fclose(fid);
stHeader.BytesPerVoxel is an undefined function.
Image Analyst
Image Analyst le 21 Avr 2013
As you can see from the '*uint8' or '*uint16' in the fread() statement, it's either 1 or 2, for 8 bit (one byte) or 16 bit (2 bytes) respectively. x_size will be the number of columns, and y_size is the number of rows that you want in your 2D array (which I called oneSlice but you can call rawdata if you want).
Now, notice how your fread() doesn't look like mine because you didn't put in the desired output matrix size ([x_size y_size]) like I did. Why not?

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 18 Avr 2013
  2 commentaires
Pooja
Pooja le 18 Avr 2013
Thanks for the reply.I am having .raw files of consultative committee for space data standards (CCSDS) .I am not able to open it.
Walter Roberson
Walter Roberson le 18 Avr 2013
The most I can seem to find is the commercial product from ledin.com which is a Telemetry toolbox for MATLAB.
I have not checked to see if that handles DELTA-DOR files.

Connectez-vous pour commenter.


Jan
Jan le 18 Avr 2013
"Raw" means an individually defined binary format usually. Because there are many different formats named "raw", you have to ask the creator how this file has been created and how the format is defined. But it is not reliable to let the forum's users guess, which RAW-format it might be.
  11 commentaires
Surendra Maharjan
Surendra Maharjan le 11 Oct 2018
clear; clc; width = 256; height = 256; fileID = fopen('Phase0004.raw','r'); A=fread(fileID,[width height]); fclose(fileID);
The output A is empty. I can not understand why?
zinah n
zinah n le 24 Sep 2019
clear; clc;
width = 256;
height = 256;
ccnt=width*height;
fileID = fopen('Phase0004.raw','r');
A=fread(fileID,ccnt,'uint8=>uint8');
fclose(fileID);

Connectez-vous pour commenter.

Catégories

En savoir plus sur Convert Image Type dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by