MATLAB读取连续帧图像raw文件(干货代码分享)

读取连续帧图像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。

这是一段非常宝贵且有用的代码。
一定要理解每一句,且能独立写出来。

技术贵在精,不在多
如需了解更多,或者需要探讨交流,请扫码在公众号后台交流。
在这里插入图片描述

发布了75 篇原创文章 · 获赞 45 · 访问量 7338

猜你喜欢

转载自blog.csdn.net/hahahahhahha/article/details/103850662