【问题标题】:Find max and min RGB values of a pixel using PIL使用 PIL 查找像素的最大和最小 RGB 值
【发布时间】:2016-10-04 08:46:11
【问题描述】:

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

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

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

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

但是返回的错误是

"TypeError: /: 'tuple' 和 'int' 的操作数类型不受支持"

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

不知道我是完全找错了树,还是只是稍微偏离了路线。完全新手使用枕头库,只是想尝试不同的效果。

【问题讨论】:

  • red green blue 是元组,这意味着 red = (min_red,max_red) 你必须计算每种颜色的平均值:average_red = (red[0]+red[1])/2

标签: python


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-02
    • 2019-09-16
    • 1970-01-01
    • 2012-09-16
    • 2017-08-27
    • 2017-09-20
    • 2017-04-20
    • 1970-01-01
    相关资源
    最近更新 更多