我希望将小于或大于图片的128个的单个YCbCr通道设置为0。但是我一直收到“无法分配给比较”的错误,而且我真的不知道自己在做什么错。
这是代码:
def calc_coloursplash(image_data, modus):
ycbcr = image_data.convert('YCbCr')
if modus == 1:
ycbcr[:,:,1] <= 128 = 0
ycbcr[:,:,2] <= 128 = 0
elif modus == 2:
ycbcr[:,:,1] >= 128 = 0
ycbcr[:,:,2] <= 128 = 0
elif modus == 3:
ycbcr[:,:,1] >= 128 = 0
ycbcr[:,:,2] >= 128 = 0
elif modus == 4:
ycbcr[:,:,1] <= 128 = 0
ycbcr[:,:,2] >= 128 = 0
else:
print("There are only modes 1-4")
return ycbcr
此图显示了我实现的不同模式:
您可以使用np.where:
ycbcr[:,:,1][np.where(ycbcr[:,:,1]<128)]=0