我有一个使用枕头库和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()函数时出现相同的错误消息。
我不确定我是在完全吠叫错误的树还是稍微离开了小路。使用枕头库完成新手,只想尝试不同的效果。
答案 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