gpt4 book ai didi

python - 如何使用 Python 在两个不同的图像中找到两个相同的像素(颜色值)

转载 作者:行者123 更新时间:2023-11-28 22:32:46 25 4
gpt4 key购买 nike

我的问题略有变化——请参阅下面的更新

我想用 Python 比较两个不同的图像。目的是找到两个图像中都存在的像素颜色值。

我编写了一个小程序来收集图像中所有像素的颜色值。现在我有一个字典/output.txt,看起来像这样:

{"pixels": [[232, 251, 255], [231, 250, 254], [230, 249, 253], [230, 249, 252], [230, 250, 251], [230, 249, 254], [230, 249, 255], [230, 250, 255], [228, 250, 254], [228, 249, 254], [228, 249, 254], [229, 248, 252], [230, 249, 253], [230, 249, 253], [231…}

现在我的问题是:如何将这些值与其他图像的值进行比较,看看其中是否有相同的颜色值?

谢谢!

更新

我想更新我最初的问题。我现在有两个(或多或少复杂的)列表。第一个包含十六进制的图像名称和图像像素颜色。所以它看起来像这样:

{
0: {'hex': ['#c3d6db', '#c7ccc0', '#9a8f6a', '#8a8e3e'], 'filename': 'imag0'},
1: {'hex': ['#705b3c', '#6a5639', '#442f1e', '#4a3d28'], 'filename': 'img-xyz'},

}

第二个字典包含许多十六进制值作为键和一个 id 作为值。看起来像:

{'#b0a7aa': '9976', '#595f5b': '19367', '#9a8f6a': '24095'…}

现在我想做的是查看我的图像(第一个列表)中是否有与第二个列表中的一个匹配的颜色值。如果是这样,那么我想知道第一个列表中的文件名和第二个列表中匹配键的值、id。

我怎样才能做到这一点?

最佳答案

我会首先尝试将列表的列表转换为一组元组:

>>> t1 = {(r,g,b) for [r,g,b] in p1}
>>> t2 = {(r,g,b) for [r,g,b] in p2}

然后使用交集法:

>>> t1.intersection(t2)
set([(231, 250, 254)])

关于python - 如何使用 Python 在两个不同的图像中找到两个相同的像素(颜色值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40614323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com