如何使用matlab将图像转化为二进制

如题所述

%把图片转为一串二进制码,再转回来
clear all
close all
imdata = imread('ngc6543a.jpg');
imshow(imdata);
BinSer=dec2bin(imdata,8); BinSer=BinSer';
FileName=[num2str(size(imdata,1)),'_',num2str(size(imdata,2)),'_',num2str(size(imdata,3)),'.txt']
fid=fopen(FileName,'w');
fprintf(fid,'%c',BinSer(:));
fclose(fid);
clear all
figure;
FileName='650_600_3.txt'; %文件名为上述生成的文件名
mn=sscanf(FileName,'%d_%d_%d');
M=mn(1); N=mn(2); K=mn(3);
fid=fopen(FileName,'r');
data=fscanf(fid,'%c');
fclose(fid);
data1=reshape(data,8,length(data)/8);
data2=reshape(bin2dec(data1'),M,N,K);
imshow(uint8(data2));
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-09-28
如何使用matlab将图像转化为二进制
clear all
close all

imdata = imread('ngc6543a.jpg');
imshow(imdata);
BinSer=dec2bin(imdata,8); BinSer=BinSer';本回答被提问者采纳
第2个回答  2017-08-21
这个X是一个索引图像...
相似回答