Ошибка 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