![](/img/trans.png)
[英]How to detect two different colors using `cv2.inRange` in Python-OpenCV?
[英]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.