How to open .raw files in matlab?

314 visualizzazioni (ultimi 30 giorni)
Pooja
Pooja il 18 Apr 2013
Commentato: zinah n il 24 Set 2019
Hello,
How will I open my .raw files in matlab?

Risposta accettata

Jan
Jan il 21 Apr 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 Commenti
Pooja
Pooja il 25 Apr 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 il 25 Apr 2013
If the question is finished please Accept one of the Answers.

Accedi per commentare.

Più risposte (3)

Image Analyst
Image Analyst il 18 Apr 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 Commenti
Pooja
Pooja il 21 Apr 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 il 21 Apr 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?

Accedi per commentare.


Walter Roberson
Walter Roberson il 18 Apr 2013
  2 Commenti
Pooja
Pooja il 18 Apr 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 il 18 Apr 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.

Accedi per commentare.


Jan
Jan il 18 Apr 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 Commenti
Surendra Maharjan
Surendra Maharjan il 11 Ott 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 il 24 Set 2019
clear; clc;
width = 256;
height = 256;
ccnt=width*height;
fileID = fopen('Phase0004.raw','r');
A=fread(fileID,ccnt,'uint8=>uint8');
fclose(fileID);

Accedi per commentare.

Categorie

Scopri di più su Convert Image Type in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by