我正在Windows下运行一个Python脚本,它处理具有32位深度的480x800 PNG
图像。我需要检查给定的图像是否完全是黑色。经过一番搜索,我发现ImageMagick可以帮助我实现这一目标,但不幸的是,没有手册可以完成这项任务。
因此,更一般的问题是如何检查图像是否只包含一种颜色?
修改
我很抱歉从一开始就没有提供有关环境的所有信息。 python脚本使用Android的monkeyrunner
执行。由于它使用了自己的Jython实例(版本2.5),因此无法使用外部库中的任何模块。里面有一个MonkeyImage
类来处理从设备中截取的截图。所以我采纳了@ eumiro的答案。
答案 0 :(得分:3)
import Image
im = Image.load("image.png")
diff_colors = list(set(im.getdata()))
if len(diff_colors) == 1 and diff_colors[0] == (0, 0, 0):
print "all black"
import Image
im = Image.load("image.png")
if all(rgb == (0,0,0) for rgb in im.getdata()):
print "all black"
答案 1 :(得分:1)
我不是Python的专家,但我看到有一个PNG模块可以使用。 加载PNG并将其导出为RGB(A)数组。
检查它是否完全是黑色应该很简单。运行数组并确保没有任何区别于0。
我认为这应该有用。
出于好奇,你为什么要检查图像是否是黑色的?