python - 如何只打印一次值,而不是每个值?
问题描述
我正在尝试制作一个扫描图像的脚本,然后告诉我其中有哪些颜色像素,但是当我打印像素颜色值时,它每次在图像中出现时都会打印相同的颜色值。
我已经想出对它们彼此相邻的值进行排序。
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)
它打印图像中每次出现的颜色值,所以我得到了一个很长的打印。
解决方案
您可以使用以下代码获取唯一像素的分布:
from collections import Counter
Counter(pix_val)
如果您只需要知道哪些是独特的颜色,只需按照 Adrian 在评论中告诉您的代码运行以下代码。
set(pix_val)
推荐阅读
- java - 在启用 TLS 的情况下使用 kafka-topics cli 命令时出现问题
- mysql - 如何在一行中获得不同的值以及它们各自的平均值作为 mySQL 中的输出
- javascript - if else 条件语句在反应
- sql - 有没有办法从聚合 sql 查询中获取嵌套表?
- swift - 如何为 UICollectionViewCompositionalLayout 中的不同部分设置多个背景视图
- visual-studio-code - VSCode“显示修复”的语言与文本编辑器本身不同
- mysql - 在 MySQL 中检测返回的空集,然后打印一条消息
- c++ - C ++忽略字符串中的\ x,如何使其成为纯文本?
- android - 谷歌播放控制台中的孤立采购订单
- json - Discord API:获取应用程序名称