确定像素的蓝色强度是否大于或等于128的python函数是什么

确定像素的蓝色强度是否大于或等于128的python函数是什么,python,Python,我想知道python中的哪个函数可以让我确定图片中每个像素的蓝色强度是否大于或等于128?另外,如果像素大于128,我需要输入什么才能将其设置为其值的一半?这取决于像素的存储方式。但让我们来做些补充:假设像素是(红色、绿色、蓝色)值的元组,图像是一个行列表,每个行都是一个像素列表 首先,要检查单个像素是否为蓝色: pixel[2] >= 128 接下来,要将其应用于行中的每个像素: all(pixel[2] >= 128 for pixel in row) 最后,将其应用于图像中

我想知道python中的哪个函数可以让我确定图片中每个像素的蓝色强度是否大于或等于128?另外,如果像素大于128,我需要输入什么才能将其设置为其值的一半?

这取决于像素的存储方式。但让我们来做些补充:假设像素是(红色、绿色、蓝色)值的元组,图像是一个行列表,每个行都是一个像素列表

首先,要检查单个像素是否为蓝色:

pixel[2] >= 128
接下来,要将其应用于行中的每个像素:

all(pixel[2] >= 128 for pixel in row)
最后,将其应用于图像中每行的每个像素:

all(pixel[2] >= 128 for row in image for pixel in row)
若要将每个像素设置为其值的一半(我猜是全部三个强度?),若其蓝色为
=128
,则实际需要使用显式
for
语句,而不是理解:

for row in image:
    for i, pixel in enumerate(row):
        if pixel[2] > 128:
            row[i] = (pixel[0]//2, pixel[1]//2, pixel[2]//2)
当然,如果像素存储在NumPy数组中,则需要使用元素级比较而不是循环。但是对于任何一种原生Python集合,它都将是一个类似于上面的循环