其他分享
首页 > 其他分享> > SLAM APP

SLAM APP

作者:互联网

UI设计

App启动页

image

导航菜单栏

image

功能介绍

相机流设置

是否录制相机流

如果选择,按下录制按钮时相机流将按照设置要求打开,相机流预览窗口将实时显示相机画面,得到的数据文件夹中将包含以单帧图像时间戳命名的png文件和全部图像时间戳的列表文件;如果不选,相机流将不会打开,得到的数据文件夹中将不含有图片和图像时间戳数据。

相机id选取

app在启动时会自动检查设备上满足如下要求的相机,并将它们的id添加到下拉菜单中以供选择。这些要求是:

  1. 在安卓camera api定义中,该相机为physical camera,而不是logical camera;
  2. 该相机为后置相机;
  3. 该相机在打开AE时,支持60hz帧率;
  4. 该相机支持yuv_420_888图像格式;
  5. 该相机同时支持640x480,1080x720,1920x1080分辨率;

如果没有找到符合上述要求的相机,则会默认向下拉菜单中添加一个id “0”,这是绝大多数安卓设备都可以打开的相机编号。

相机流分辨率选取

从包含640x480,1080x720,1920x1080的下拉菜单中选择一个想要的图像分辨率。相机流预览窗口的尺寸将根据所选的分辨率发生变化。

录制60hz相机流

如果选择,相机将工作在AE模式下,并尽量达到60hz帧率。但根据当前拍摄场景的明暗程度不同,相机流的实际帧率会在30~60hz区间浮动。如果不选,相机流帧率会尽量保持在30hz,工作在AE模式。

图像时间戳文件格式

从包含csv, txt的下拉菜单中选择想要的文件格式。

imu数据流设置

是否录制imu数据

如果选择,acc和gyr传感器数据流将打开,得到的数据文件夹中将至少包含一个acc数据和一个gyr数据的文本文件。注意,手机上的惯性传感器芯片中,acc和gyr为两个独立的sensor共享一条数据总线输出,而非直接对齐好的imu数据。

是否生成时间戳对齐的imu数据

如果选择,得到的数据文件夹中将额外包含一个对齐后imu数据的文本文件。

imu帧率选取

app启动时,会自动查询当前设备支持的惯性传感器帧率并将查询结果加入下拉菜单中以供选择,这里笼统地称为imu帧率,实际上有的安卓设备acc和gyr的帧率可以不相同。下拉菜单中可能提供的帧率值为200,400,800,实际数据流的帧率可能并不完全一直,取决于设备厂采用的惯性传感器芯片和HAL层的实现。

imu数据文件格式

从包含csv, txt的下拉菜单中选择想要的文件格式。

对齐的imu数据文件中,acc和gyr的先后顺序

如果选择了生成时间戳对齐的imu数据,该下拉菜单中acc in front 和 gyr in front分别对应在imu数据文件中acc在前和gyr在前。

数据文件夹名称

Data folder name可输入文本框

如果不输入,默认值为 "default"。

postfix with time

如果选择,将会在输入的data folder name后面添加格式为'-D'yyyy-MM-dd'-T'HH-mm-ss的年月日和时分秒后缀。

数据流帧率和数据包大小

相机流帧率

需要注意的是,这里的current cam fps为真实的数据流帧率,而非预览帧率。比如,当选择1920x1080分辨率时,同样为60hz的预览显得没有640x480分辨率下60hz的预览流畅,那是因为,图像过大时,预览窗口后台的内存swap速度可能没那么快,导致预览帧率小于真实数据流帧率。不过,得到的数据文件夹中,图片依然是以真实数据流保存的。

数据包大小

当选择较大的图像分辨率或60hz帧率时,current data size所显示的数据包大小会滞后于当前时刻真实的文件夹大小。这是因为,为了不阻塞数据流,文件存储为异步工作模式。也就是说,当前的数据缓存中可能存有还没有被写进存储设备的内容,而current data size显示的是已经被写入设备存储的空间占用大小。

录制开关

关于按下结束录制时按钮不会立刻重置

当选择较大的图像分辨率或60hz帧率时,按下按钮结束录制时,录制开关会阻塞app一段时间后才重置。这是为了表征数据缓存中还有未被写进存储设备的内容,待数据缓存清空,录制开关就会重置,并可以重新开始下一次录制。

关于重复使用相同的文件夹名称

如果这次的数据文件夹名称用了与上一次录制相同的值,按下录制开关后app会首先将上一次的录制结果完全清空,然后再开始这次的录制。

录制数据存储路径

App在设备中使用的存储根目录为 /sdcard/slam_app/, 每次录制得到的数据文件夹保存在 /sdcard/slam_app/RecordedData/"本次录制文件夹名称"/的目录下。该目录下还会包含一个名为record_config的json文件,内容为本次录制所使用的配置,如:

{
  "folder_name": "",
  "post_with_time": false,
  "time_postfix": "-D2022-03-01-T18-26-30",
  "record_camera": true,
  "save_image": true,
  "camera_id": "0",
  "camera_resolution": 0,
  "enable60hz": true,
  "image_ts_file_type": "csv",
  "record_imu": true,
  "sync_acc_gyr": true,
  "imu_freq": 0,
  "imu_file_type": "csv",
  "acc_gyr_order": 0,
  "pack_rosbag": false
}

App永久下载链接

下载二维码
后续App有更新时,会在联网状态下自动下载更新并提示安装。

写在后面

SLAM APP后面规划了一些更加有趣的功能,我会抽时间一一实现并推送更新,敬请期待~
如果您觉得我做的工具对您产生了帮助,可以用下面提供的二维码打赏我,金额不限,十分感谢~

标签:文件夹,acc,APP,录制,相机,SLAM,imu,下拉菜单
来源: https://www.cnblogs.com/ZhaoqunZhong/p/15949472.html