从matlab中导出下载到的轨迹数据

我从该网址(http://www.ee.cuhk.edu.hk/~xgwang/MITtrajsingle.html)下载到了一些轨迹数据。

 

网页中简单说明了轨迹数据的由来:原始数据是在一个停车场上方的视频监控数据,然后根据机器视觉领域移动物体跟踪的方法获得到了车辆的轨迹数据。轨迹数量总计有40453条。

但下载到的数据文件是matlab中使用的.mat格式,而.mat文件中的数据不是原始格式,直接用文本编辑器打开的话是一堆乱码,在使用matlab打开后,里面是代表轨迹集合的struct数组。由于我对matlab环境不熟悉,所以希望把轨迹数据保存为一般的格式,以方便我在一般的编程环境中更自由的对轨迹数据进行研究。

下面我写的一个matlab函数,以实现自定义保存的功能:

function re=save_trk(trk)
outputFile=fopen('filtTrk_parkinglot.txt','wt');
[m,n]=size(trk)
for i=1:1:n
    fprintf(outputFile,'%s','trk');
    fprintf(outputFile,'%d ',i);
    tempTrk=trk(i);
    [p,q]=size(tempTrk.t);
    fprintf(outputFile,'%d\n',q);
    x=tempTrk.x;
    y=tempTrk.y;
    t=tempTrk.t;
    for j=1:1:q
        fprintf(outputFile,'%g ',x(j));
        fprintf(outputFile,'%g ',y(j));
        fprintf(outputFile,'%d\n',t(j));
    end
end
res=1;
fclose(outputFile);

保存结果:

 全部轨迹保存成功