比较Pygame中的图像(不像素像素)

时间:2017-10-22 11:06:31

标签: python image pygame

我有一系列图像,其中有多个图像,例如

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

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

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

为此,我尝试了循环:

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

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

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

1 个答案:

答案 0 :(得分:1)

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

子类图像:

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

向Image:

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

维护并行数组:

图像存储在一个数组中,可能很容易并行维护一个布尔数组,其中False为黄色,而True为白色。

前缀为图像文件的名称:

当您在" whitening"之后命名这些文件时它们,您可以添加w_前缀,然后根据其名称进行隔离? gun1.jpg - > w_gun1.jpg
然后可以根据__name__

的第一个字符对这些图像进行隔离

添加标签:(可能?)

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