Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python“;can';t分配给比较“;错误_Python_Image_Filter_Assign_Ycbcr - Fatal编程技术网

python“;can';t分配给比较“;错误

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

我想要一个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
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')
。这可能是加载图像的错误方式吗?