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

48 visualizaciones (últimos 30 días)
dao
dao el 15 de Oct. de 2014
Comentada: Geoff Hayes el 16 de Oct. de 2014
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 comentario
dao
dao el 16 de Oct. de 2014
Editada: dao el 16 de Oct. de 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 ?

Iniciar sesión para comentar.

Respuesta aceptada

Geoff Hayes
Geoff Hayes el 15 de Oct. de 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 comentarios
dao
dao el 16 de Oct. de 2014
Thank for your help. Can you explain more to me about 'uint8=>uint8' ? I still don't get it
Geoff Hayes
Geoff Hayes el 16 de Oct. de 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'.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Convert Image Type en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by