我正在使用opencv和numpy进行图像处理。操作数无法与形状一起播放(780,1080)(780,1080,3)
我对图像进行阈值处理,然后对其进行一些处理,然后用原始图像对其进行掩盖。
我做阈这样的(步骤1):
ret,thresh1 = cv2.threshold(gray,210,255,cv2.THRESH_TOZERO)
然后我分配thresh1
到img
(步骤2):
img = thresh1
和我掩蔽像这样(步骤3):
final = img&cv2.cvtColor(less, cv2.COLOR_GRAY2BGR)
但是,有了这个,我在step3上得到以下错误:
operands could not be broadcast together with shapes (780,1080) (780,1080,3)
如果我更换第二步:
cv2.imwrite("2.png", thresh1)
img = cv2.imread("2.png")
然后一切工作正常。我无法理解实际存储的差异,然后从磁盘读取相同的图像,而只是将img
设置为thresh1
有没有办法可以避免从磁盘写入和读取图像?
感谢您的解释。另一种方法是阻力最小的路径:) – Anthony