python“;can';t分配给比较“;错误
我想要一个YCbCr频道,它比图片中的128个频道小或大,设置为0。 但我不断地得到错误“无法分配到比较”,我真的不知道我做错了什么 代码如下:python“;can';t分配给比较“;错误,python,image,filter,assign,ycbcr,Python,Image,Filter,Assign,Ycbcr,我想要一个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 e
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
def calc_colorssplash(图像数据,MODU):
ycbcr=image\u data.convert('ycbcr')
如果modus==1:
ycbcr[:,:,1]=128=0
elif modus==4:
ycbcr[:,:,1]=128=0
其他:
打印(“只有模式1-4”)
返回ycbcr
这张图显示了我实现的不同模式:
您可以使用np.where:
ycbcr[:,:,1][np.where(ycbcr[:,:,1]<128)]=0
ycbcr[:,:,1][np.where(ycbcr[:,:,1][code>ycbcr[:,:,1]好的,我知道了。我怎么能给128下的所有值赋值呢?谢谢,但它显示了一个错误“image object not subscriptable”(图像对象不可订阅)。我想你使用了PIl包。你可以从这里使用:a=np.array(a):我正在做image=image.open(“ahab.jpg”)
然后是ycbcr=image.convert('ycbcr')
。这可能是加载图像的错误方式吗?