代码如下:
filepath = 'E:\Downloads\datasets\BIWI\kinect_head_pose_db\hpdb\01\frame_00003_depth.bin';
f = fopen(filepath, 'r');
% width = bin2dec((vec2mat(dec2bin(fliplr(fread(f,4)')),1)'));
% height = bin2dec((vec2mat(dec2bin(fliplr(fread(f,4)')),1)'));
% depth = uint16(zeros(width*height,1));
width = typecast(uint8(fliplr(fread(f,4))), 'uint32');
height = typecast(uint8(fliplr(fread(f,4))), 'uint32');
depth = uint16(zeros(width*height,1));
i = 0;
while i < width * height
skip = bin2dec((vec2mat(dec2bin(fliplr(fread(f,4)'),8),1)'));
read = bin2dec((vec2mat(dec2bin(fliplr(fread(f,4)'),8),1)'));
for j=0:read-1
depth(i + skip + j ) = bin2dec((vec2mat(dec2bin(fliplr(fread(f,2)'),8),1)'));
end
i =i+ skip + read;
end
fclose(f);
depth =reshape(depth ,[width ,height])';
% 显示深度图
imshow(depth*16);
结果如下:
参考文献:
1. Extracting Data from BIWI Head pose data base into Matlab (Full)