How to convert image (bmp,jpg....) to .bin file ?
48 views (last 30 days)
Show older comments
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.
Accepted Answer
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
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'.
More Answers (0)
See Also
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!