簡體   English   中英

我如何使用opencv python僅更改白色的黑色而無像素操作

[英]How can i change only black color in white using opencv python without pixel operation

這是示例圖片

我想將圖像中的黑色更改為白色。 我嘗試使用閾值和按位運算,但是這些運算會扭曲圖像中存在的其他顏色。 我不想使用像素操作,因為這些操作很昂貴。

使用cv2.THRESH_INV參數在源圖像上應用閾值運算,以確保只有黑色像素變為白色,其他像素變為黑色。

使用以下命令將二進制蒙版轉換為3通道圖像:

src1_mask=cv2.cvtColor(src1_mask,cv2.COLOR_GRAY2BGR)#change mask to a 3 channel image

使用cv2.addWeighted方法添加遮罩和原始圖像。 蒙版的黑色部分將替換為原始圖像,而白色部分將保持白色,因為在addWeighted操作中黑色像素大約為0

將您的源圖像加載為名為“ img”的數組,然后執行以下操作:

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
mask = cv2.compare(gray,5,cv2.CMP_LT)
img[mask > 0] = 255

暫無
暫無

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

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