[英]Python Fastest way to check if image is greyscale or color?
我想使用 Python 检查图像是灰度还是彩色。 我知道我们可以读取图像并轻松检查,但是,我想知道是否有一种方法可以在不阅读完整图像的情况下进行检查?
我有大约 2 亿张图像 (200x200),因此在运行时读取每张图像是不可行的。
谢谢
虽然我不能肯定这将是最有效的,但我确信它会比大多数操作执行得更好。
所以考虑使用 ImageStat 模块。
from PIL import Image, ImageStat
def is_grayscale(path="image.jpg")
im = Image.open(path).convert("RGB")
stat = ImageStat.Stat(im)
if sum(stat.sum)/3 == stat.sum[0]: #check the avg with any element value
return True #if grayscale
else:
return False #else its colour
stat.sum为我们提供了列表视图中所有像素的总和 = [R, G, B] 例如 [568283302.0, 565746890.0, 559724236.0]。 对于灰度图像,列表的所有元素都是相等的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.