读取连续帧图像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,2*(NumPixelsPerFrame-1),'bof');
temp=fread(fid,NumPixelsPerFrame,'uint16');
A(:,ii)=temp;
end
fclose(fid);
涉及到matlab里面文件操作函数包括有:
fopen、fclose、fseek、fread。
这是一段非常宝贵且有用的代码。
一定要理解每一句,且能独立写出来。
技术贵在精,不在多
如需了解更多,或者需要探讨交流,请扫码在公众号后台交流。