创作时间:2020-01-01
读取连续帧图像raw文件。
matlab代码如下:
%图像基本信息:
%512行,640列,像素深度16bit,帧数不确定。
%step1:获得图像的帧数L
col=640;
row=512;
NumPixelsPerFrame=col*row;
filename='test.raw';
fid=fopen(filename,'r');
feek(fid,0,'eof');
NumBytesTotalFrame=ftell(fid);
L=floor(NumBytesTotalFrame/(2*NumPixelsPerFrame));
fclose(fid);
if L<1
errordlg('帧数小于1,文件大小不够一帧图像');
return
end
%step2:拆分一帧一帧的读图像
A=zeros(NumPixelsPerFrame,L);
for ii=1:L
fseek(fid,(ii-1)*(2*NumPixelsPerFrame),'bof');%2020-12-05修改
temp=fread(fid,NumPixelsPerFrame,'uint16');
A(:,ii)=temp;
end
fclose(fid);
涉及到matlab里面文件操作函数包括有:
fopen、fclose、fseek、fread。
这是一段非常宝贵且有用的代码。
一定要理解每一句,且能独立写出来。
THE END~