gpt4 book ai didi

python - 在 Pygame 中比较图像(不是逐像素比较)

转载 作者:行者123 更新时间:2023-12-01 02:30:30 25 4
gpt4 key购买 nike

我有一个图像数组,其中有多个图像,例如,

guns = [pygame.image.load('gun1.jpg'),pygame.image.load('gun2.jpg'),pygame.image.load('gun3.jpg'),pygame.image.load('gun4.jpg')]

这些所有图像都是黄色矩形,我已将其中一些更改为相同尺寸的白色矩形,以使它们在我的代码中消失。

现在我必须检查在枪支数组中哪些图像是白色的,哪些不是。

为此我尝试循环:

for i in range(0,window_size):
print('wolla2!')
if guns[i] is whiteIm:
print('wolla!')
i+=1

其中whiteIm是我替换的白色图像,window_size是图像数量。但我知道我不能这样做。

如何检查数组中的图像是否为白色?

最佳答案

以下是四种加一的可能性,您可以根据自己的情况进行评估和选择:

子类图像:

您可以子类化 Image 类来添加属性吗?

动态添加属性到图像:

在Python中,您可以动态添加属性:gun1.color = "w"

维护并行数组:

图像存储在数组中,并行维护 bool 值数组可能很容易,例如,其中 False 为黄色,True 为白色。

图像文件名前缀:

当您在“白化”这些文件后命名这些文件时,您可以添加一个 w_ 前缀,然后根据它们的名称进行隔离? gun1.jpg --> w_gun1.jpg
然后可以根据这些图像的 __name__

的第一个字符来分隔这些图像

添加标签:(也许?)

在 tkinter 中,您可以向 Canvas 对象添加标签,并根据标签将它们作为一个组进行操作...也许 pygame 提供了类似的可能性?

关于python - 在 Pygame 中比较图像(不是逐像素比较),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46873344/

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