我陷入了有线问题。按位运算的一个非常简单的例子。但是,在处理png图像时会显示错误。
import matplotlib.pyplot as plt
import numpy as np
import cv2
image = mpimg.imread('test1.png')
mask = np.zeros((image.shape[0], image.shape[1], 3), dtype=np.uint8)
result = cv2.bitwise_and(image,mask)
它将显示有关bitwise_and的以下错误:
该操作既不是'数组操作数组'(其中数组具有相同的大小和类型),也不是'数组操作标量',也不是函数binary_op中的'标量操作数组'
处理test2.jpg
时,操作没有错误我知道第一张图片看起来像是灰色图片,但确实有三个频道!
答案 0 :(得分:0)
我认为.png图像有四个通道(一个用于不透明度)。因此,您尝试对两个具有不同通道数的图像(jpg - 3和png - 4)进行操作。