python“无法分配给比较”错误

问题描述 投票:0回答:1

我希望将小于或大于图片的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

此图显示了我实现的不同模式:

“”

python image filter assign ycbcr
1个回答
0
投票

您可以使用np.where:

ycbcr[:,:,1][np.where(ycbcr[:,:,1]<128)]=0
© www.soinside.com 2019 - 2024. All rights reserved.