我试图根据x-y坐标确定列表中的所有唯一元素。该列表的结构如下所示:
List =[[[Picture1, [X-Coordinate, Y-Coordinate]], [Picture1, [X-Coordinate, Y-Coordinate]]],
[[Picture2, [X-Coordinate, Y-Coordinate]], [Picture2, [X-Coordinate, Y-Coordinate]]],
....]
以下是实际列表:
MyList = [[['IMG_6094.jpg', [2773.0, 240.0]], ['IMG_6094.jpg', [2773.0, 240.0]]],
[['IMG_6096.jpg', [1464.0, 444.0]], ['IMG_6096.jpg', [3043.0, 2358.0]]],
[['IMG_6088.jpg', [1115.5, 371.5]]],
[['IMG_6090.jpg', [3083.0, 1982.5]], ['IMG_6090.jpg', [3083.0, 1982.5]]],
[['IMG_6093.jpg', [477.0, 481.0]], ['IMG_6093.jpg', [450.0, 487.5]]]]
正如您所看到的,有时有些元素在图片中具有相同的坐标,或者至少彼此非常接近。我需要做的是根据一个坐标扔掉所有非唯一或非常接近的元素(不管是x还是y)。 列表应如下所示:
MyList = [[['IMG_6094.jpg', [2773.0, 240.0]], --- thrown out because copy of first element ---],
[['IMG_6096.jpg', [1464.0, 444.0]], ['IMG_6096.jpg', [3043.0, 2358.0]]],
[['IMG_6088.jpg', [1115.5, 371.5]]],
[['IMG_6090.jpg', [3083.0, 1982.5]], --- thrown out because copy of first element---],
[['IMG_6093.jpg', [477.0, 481.0]], --- thrown out because e.g. abs(x-coordinates) < 30]
有人能提供一个优雅的解决方案吗
提前谢谢
为img创建一个与其相邻的innteger列表,而不是为img上的其他点,检查它们的x或y是否在列表中,如果是,则将它们添加到移除列表中 顺便说一句,当使用索引删除时,请确保从最大的x,y开始,这样在删除它们之前就不会更改较低的点索引
相关问题 更多 >
编程相关推荐