我正在使用 opencv 和 numpy 进行图像处理。
我正在对图像进行阈值处理,然后对其进行一些处理,然后用原始图像对其进行遮罩。
我这样做阈值(步骤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)
但是,有了这个,我在第 3 步得到以下错误:
operands could not be broadcast together with shapes (780,1080) (780,1080,3)
如果我将 step2 替换为:
cv2.imwrite("2.png", thresh1)
img = cv2.imread("2.png")
然后一切正常。我无法理解实际保存然后从磁盘读取相同图像与仅分配img
给的区别thresh1
有没有办法可以避免从磁盘写入和读取图像?