How to open .raw files in matlab?

314 views (last 30 days)
Pooja
Pooja on 18 Apr 2013
Commented: zinah n on 24 Sep 2019
Hello,
How will I open my .raw files in matlab?

Accepted Answer

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

Sign in to comment.

More Answers (3)

Image Analyst
Image Analyst on 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 Comments
Pooja
Pooja on 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 on 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?

Sign in to comment.


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

Sign in to comment.


Jan
Jan on 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 Comments
Surendra Maharjan
Surendra Maharjan on 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 on 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);

Sign in to comment.

Categories

Find more on Convert Image Type in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!