我已经检查过了,找不到最简单的答案。
我在 python 中有一个嵌套的项目列表。
[['screens\\achieve.png', 378, 40, 194, 198, 234],
['screens\\test.png', 378, 40, 1, 8, 15],
['screens\\cutout.png', 378, 40, 4, 8, 14],
['screens\\sample.png', 378, 40, 1, 6, 12]]
这些是图像中的像素颜色,我在列表中有大约 60 张图像,这是其中的一部分。图片名称、x坐标、y坐标、红、绿、蓝值
我的工具所做的是显示图像。我单击图像中的一个位置,它会遍历充满图像的文件夹,并在查看的图像中单击的位置输出颜色值。
现在我要做的是查看颜色值列表,看看列表中的任何其他图像是否在同一位置具有相同的颜色。
我知道我正在检查的记录。从上面的片段中,可以说我正在查看列表中的 test.png (item[1])。我需要遍历列表中的其他项目,以查看我在 test.png 中单击的位置是否与任何其他项目的颜色不同。
提前致谢。
如果我理解正确,您想根据所有其他图像检查特定索引处的图像颜色:
lst = [
["screens\\achieve.png", 378, 40, 194, 198, 234],
["screens\\test.png", 378, 40, 1, 8, 15],
["screens\\cutout.png", 378, 40, 4, 8, 14],
["screens\\sample.png", 378, 40, 1, 6, 12],
]
def check(lst, test_idx):
*_, r, g, b = lst[test_idx]
return any(
(r, g, b) == (tr, tg, tb)
for i, (*_, tr, tg, tb) in enumerate(lst)
if i != test_idx
)
print(check(lst, 1))
印刷:
False
如果列表是:
lst = [
["screens\\achieve.png", 378, 40, 1, 8, 15],
["screens\\test.png", 378, 40, 1, 8, 15],
]
然后:
print(check(lst, 1))
印刷:
True
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句