【MATLAB】MATLAB读二进制文件

语法功能介绍: 

fileID =fopen('filename');

fopen : 打开文件,以二进制形式访问,并返回大于或等于3的整数,作为文件标识符。(MATLAB® 保留文件标识符 01 2 分别用于标准输入、标准输出(屏幕)和标准错误。)如果fopen无法打开文件,则返回-1.

filename :二进制文件

fileID : 二进制文件标识符

以该行代码为例:

timestamp=single(fread(fileID,1,'float'));

fread :读取由文件标识符fileID指示的文件中的数据赋值给变量timestamp

1 : 表示读取1个数据类型大小

float :表示存储到二进制文件中的数据类型,通过C保存

single 表示读出二进制文件的数据类型,输出到MATLAB

举例实现代码:

%  读取二进制文件,filename为二进制文件                                                     
f=fopen('filename');                                            
memorylength=uint32(fread(f,1,'uint32'));              % 传递的总长度
timestamp=single(fread(f,1,'float'));                  % 时间戳
IsLocked=uint32(fread(fileID,1,'uint32'));             % 标志位 1为无效,0为有效

% 车头方向为X轴,Y轴为左正右负
vision_classification=uint32(fread(fileID,1,'uint32'));  % 对象分类
vision_y=single(fread(fileID,1,'float'));                % 纵向坐标
vision_x=single(fread(fileID,1,'float'));                % 横向坐标(m)
vision_vy=single(fread(fileID,1,'float'));               % 纵向速度
vision_vx=single(fread(fileID,1,'float'));               % 横向速度(m/s)
vision_confidence=single(fread(fileID,1,'float'));       % 置信度
vision_exist_period=single(fread(fileID,1,'float'));     % 存在寿命时间
vision_width=single(fread(fileID,1,'uint32'));           % 宽度(m)
vision_height=single(fread(fileID ,1,'uint32'));         % 高度

Note:

由于C代码存储数据,是以四个字节为准,于是在读取二进制文件时,需要注意前后两个或者三个数据之内,读取的位数应该是32位(4字节),不然会出现读取数据对应不上的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值