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

조회 수: 47 (최근 30일)
dao
dao 2014년 10월 15일
댓글: Geoff Hayes 2014년 10월 16일
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
dao
dao 2014년 10월 16일
편집: dao 2014년 10월 16일
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 ?

댓글을 달려면 로그인하십시오.

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Convert Image Type에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by