簡體   English   中英

如何將 OpenCV 中的兩個位掩碼與不同的 colors 合並

[英]How to merge two bitmasks in OpenCV with different colors

我必須戴口罩,例如這些:

在此處輸入圖像描述 在此處輸入圖像描述

我想將它們合並到一個圖像中,但是第一個和第二個掩碼必須具有不同的 colors,因此所需的結果是:

在此處輸入圖像描述

我知道我可以將它們都轉換為 BGR 顏色空間,然后替換 colors 並像這樣合並它們:

img1 = cv2.cvtColor(mask1, cv2.COLOR_GRAY2BGR)
img1[np.where((img1==[255, 255, 255]).all(axis=2))] = [0, 0, 255]
img2 = cv2.cvtColor(mask2, cv2.COLOR_GRAY2BGR)
img2[np.where((img2==[255, 255, 255]).all(axis=2))] = [0, 255, 0]
img = cv2.bitwise_or(img1, img2)

但似乎應該有一種更簡單、更優化的方法來做到這一點。 有沒有這樣的方法?

希望對你有幫助。

img1[img1[:,:,0]==255]=[0,255,0]
img2[img2[:,:,0]==255]=[0,0,255]
img1[img2[:,:,2]==255]=[0,0,255]

cv2.imshow('img1',img1)
cv2.waitKey(0)
cv2.destroyAllWindows()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM