【发布时间】:2016-03-02 17:25:04
【问题描述】:
我有一个由它们的坐标和几何定义的框列表,如下所示:
box = [x y w h]
我想循环遍历这些框,如下所示 - 问题是我需要在函数 'findMatchingbox) 中更改框的表示 - 所以我在这个函数中将它装箱为 [xmin ymin xmax ymax]。问题是,当我将 'i' 赋予函数以永久更改列表中的框时,我尝试首先在函数中设置一个 temp_i = i,然后执行必要的步骤,但无济于事。
我猜一定是因为python在内存中只保留每个盒子的一份副本,我如何将特定的盒子(i)发送到函数中,在转换后从中提取必要的信息,而不改变实际盒子?可以复印吗?
for i in bboxes:
# Determine if detection belongs to an existing object
print('1:\t',i)
boxIDx = self.findMatchingBox(i)
print('2:\t')
输出:
1: [464, 282, 48, 48]
2: [464, 282, 512, 330]
【问题讨论】:
-
我认为在
findMatchingBox中显示一个最小的代码示例可能会有所帮助 -
我想我确实想通了:我必须制作 i 的临时副本并对其进行计算 - 我使用 temp_i = list(i) 进行了此操作。简单地说 temp_i = i 是行不通的。
-
@Lafexlos 同样的想法!谢谢
标签: python python-3.x python-3.5