我正在使用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