使用PIL查找像素的最大和最小RGB值

时间:2016-10-04 08:46:11

标签: python

我有一个使用枕头库和Python 3去饱和图像的基本算法: - 找到像素的RGB值的最大值 - 找到像素的RGB值的最小值 - calc average:(max + min)/ 2

如何找到每个像素的最小和最大红色,绿色和蓝色值?我完全糊涂了!我尝试将此代码作为for循环的一部分

 red = image.getextrema()
 green = image.getextrema()
 blue = image.getextrema()

 average = int( (red + green + blue) / 2 )

但返回的错误是

“TypeError:/|'tuple'和'int'不支持的操作数类型”

当我删除int()函数时出现相同的错误消息。

我不确定我是在完全吠叫错误的树还是稍微离开了小路。使用枕头库完成新手,只想尝试不同的效果。

1 个答案:

答案 0 :(得分:1)

img.getextrema()返回(min_value, max_value)的元组。为了获得平均值,您必须这样做:

value = img.getextrema()
avg = sum(value)/len(value) # OR, sum(value)/2, as len will always be 2