Ошибка python "не удается назначить для сравнения"

Я хочу, чтобы отдельные каналы YCbCr размером меньше или больше 128 изображений были установлены в 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

На этом рисунке показаны различные реализованные мной режимы:

1 ответ

Вы можете использовать np.where:

ycbcr[:,:,1][np.where(ycbcr[:,:,1]<128)]=0
Другие вопросы по тегам