首页 > 解决方案 > 如何只打印一次值,而不是每个值?

问题描述

我正在尝试制作一个扫描图像的脚本,然后告诉我其中有哪些颜色像素,但是当我打印像素颜色值时,它每次在图像中出现时都会打印相同的颜色值。

我已经想出对它们彼此相邻的值进行排序。

from PIL import Image


img = Image.open('images/image.png')

print(img.size)
print("pixels")

pix = img.load()
pix_val = list(img.getdata())

pix_val.sort()

print(pix_val)

它打印图像中每次出现的颜色值,所以我得到了一个很长的打印。

标签: pythonpython-imaging-library

解决方案


您可以使用以下代码获取唯一像素的分布:

from collections import Counter
Counter(pix_val)

如果您只需要知道哪些是独特的颜色,只需按照 Adrian 在评论中告诉您的代码运行以下代码。

set(pix_val)

推荐阅读