How to convert image (bmp,jpg....) to .bin file ?

48 views (last 30 days)
I have a colour image and I want convert it to binary such as .bin (without losing color). In C code, I can easly use 'fopen' but it can't work in matlab. Anybody help me please.
Sorry my E is not good.
  1 Comment
dao
dao on 16 Oct 2014
Edited: dao on 16 Oct 2014
Thank Geoff Hayes for your help, But how can I read this bin ? I use
fid = fopen('myBin.bin', 'r');
R = fread(r,[626 1124 3],'uint8');
imshow(R)
but fread function doesn't receive Three-dimensional matrix. So how can I convert this .bin file to image ?

Sign in to comment.

Accepted Answer

Geoff Hayes
Geoff Hayes on 15 Oct 2014
dao - if you have read the image from file (as a bmp or jpg) using imread, then you can use fopen and fwrite to write the data to a binary file. For example,
% read the image from file
myImage = imread('someImage.jpg');
% open a file to write to
fid = fopen('myBin.bin','w+');
if fid>0
% write the data to file
fwrite(fid,myImage,'uint8');
% close the file
fclose(fid);
end
In the above, we read in some image and open a file for writing (using w+ to indicate that we wish to open or create a new file for writing). It is assumed that the data type for the image is uint8 so we use that in our precision field of the fwrite function.
  4 Comments
dao
dao on 16 Oct 2014
Thank for your help. Can you explain more to me about 'uint8=>uint8' ? I still don't get it
Geoff Hayes
Geoff Hayes on 16 Oct 2014
From fread precision, the left hand side of the => is the source, and the right hand side is the output. So 'uint8=>uint8' means that for every 8 bit unsigned integer that we read in, we save this value as an 8-bit unsigned integer in our R (output) matrix. I did this because without it, R would be a matrix of data type double, since the default precision is 'uint8=>double'.

Sign in to comment.

More Answers (0)

Categories

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

Community Treasure Hunt

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

Start Hunting!