TUM数据集associate.py使用小坑

python版本:  Python 3.6.8 :: Anaconda, Inc.

使用从https://vision.in.tum.de/data/datasets/rgbd-dataset/tools下载的associate.py处理rgb.txt和depth.txt,生成配对的文件associate.txt

使用方法

python associate.py rgb.txt depth.txt > associate.txt

但是总会报错

Traceback (most recent call last):
  File "associate.py", line 118, in <module>
    matches = associate(first_list, second_list,float(args.offset),float(args.max_difference))    
  File "associate.py", line 97, in associate
    first_keys.remove(a)
AttributeError: 'dict_keys' object has no attribute 'remove'

经过各种尝试后在https://mail.python.org/pipermail/python-list/2013-July/652769.html中找到了解决办法,由于Python2和python3语法的差别,需要将associate.py中第86行87行的

    first_keys = first_list.keys()
    second_keys = second_list.keys()

改为

    first_keys = list(first_list.keys())
    second_keys = list(second_list.keys())

 

### 如何使用 TUM 数据集 `association.txt` 文件 #### 格式说明 `association.txt` 文件用于存储 RGB 图像和深度图的时间戳关联信息。每一行代表一组时间上同步的 RGB 和深度图像文件名及其对应的时间戳。具体格式如下: ``` <time_rgb> <rgb_file_path> <time_depth> <depth_file_path> ``` 其中 `<time_rgb>` 是 RGB 图像的时间戳,`<rgb_file_path>` 是该图像的路径;同理,`<time_depth>` 是深度图的时间戳,而 `<depth_file_path>` 则指向相应的深度图位置。 此文件对于处理 RGB-D 数据至关重要,因为它确保了视觉 SLAM 或其他计算机视觉算法能够获取到精确匹配的彩色图片与距离测量值组合[^1]。 #### 示例 假设有一个名为 `rgbd_dataset_freiburg1_xyz` 的数据集,在其根目录下会找到 `associations.txt` 文件。以下是部分内容示例: ``` 1305031198.427166 rgb/1305031198.427166.png 1305031198.550699 depth/1305031198.550699.png ... ``` 这些条目表明在特定时刻捕获到了一对RGB和Depth帧,并记录下了它们各自的相对应关系以便后续分析或实验使用。 #### 下载方法 为了获得完整的 `association.txt` 文件,可以按照以下步骤操作: - 访问[TUM RGB-D Benchmark](http://vision.in.tum.de/data/datasets/rgbd-dataset/download)网站并选择所需的数据集版本。 - 完成下载解压后进入目标文件夹(如 `rgbd_dataset_freiburg1_xyz`),此时应该能看到已经准备好的 `associations.txt` 文件[^3]。 如果需要重新生成这个文件,则可以通过执行 Python 脚本 `associate.py` 来实现。注意该脚本仅支持 Python 2.x 版本环境运行,并通过命令行参数指定输入输出文件名称来创建新的关联列表[^2]。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KunB在学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值