Problems reading .RAW file

3 views (last 30 days)
Xie Yiru
Xie Yiru on 8 Jul 2019
Commented: Walter Roberson on 9 Jul 2019
Hello
I have a strange problem when trying to read in a grayscale image of 12bit. there are always strange gray background when I am trying to load them in Matlab. I wish only black background and white cross.
q10.jpg
this is image with strange grey background
image.png
this is the image I wish
Do you know what may be the reason for such a problem ?
Thanks in advance
my code
fid=fopen('image.dat','rt');
q2=fread(fid,[3840 2160],'*ubit12');
q10=uint16(q2');
fclose(fid);
  5 Comments
Xie Yiru
Xie Yiru on 9 Jul 2019
yes i have tried. But I still get the image like the first one with grey background. Can you maybe try one time and tell me the code. I have raw File linkes
Jan
Jan on 9 Jul 2019
@Xie Yiru: "which mode should I use to open the image file?" - See Guillaume's answer: Without the 't' in fopen.

Sign in to comment.

Answers (1)

Guillaume
Guillaume on 9 Jul 2019
Edited: Jan on 9 Jul 2019
Your image is read incorrectly because you specified 't' in the fopen call. 't' means text mode and will replace some bytes sequences (specifically \r\n) by a different one (\r), which is certainly not what you want.
Without it, your image is read properly
fid = fopen('image.dat'); %you don't even need to specify 'r' since it's the default
q2 = fread(fid, [3840, 2160], '*ubit12');
fclose(fid);
imshow(q2, []);

Community Treasure Hunt

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

Start Hunting!