使用python从图像中删除背景:包含多个元素的数组的真值不明确

使用python从图像中删除背景:包含多个元素的数组的真值不明确,python,image-processing,Python,Image Processing,我尝试构建一个函数来拍摄图像,并从中删除特定的像素值: def background_remove(img): for i in range(img.shape[0]): for j in range(img.shape[1]): if img[i, j] == 0: img[i,j] = 1 return img 编译时,出现以下错误: if img[i, j] == 0: ValueErro

我尝试构建一个函数来拍摄图像,并从中删除特定的像素值:

def background_remove(img):
    for i in range(img.shape[0]):
        for j in range(img.shape[1]):
            if img[i, j] == 0:
                img[i,j] = 1
    return img
编译时,出现以下错误:

     if img[i, j] == 0:
 ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

我做错了什么?

最有可能的是,
img
是一些多通道图像。然后,您的比较将失败,如图所示。强制
img
成为单通道(例如灰度),那么你的代码就可以工作了