簡體   English   中英

將2D numpy蒙版應用於灰度圖像

[英]Applying a 2D numpy mask to grayscale image

我有一個256×256像素的2D蒙版,其像素值為0或255,以及一個匹配的灰度圖像。 兩者都有形狀(256,256)。

我想在灰度圖像上應用蒙版,因此生成的圖像僅包含原始灰度圖像中的像素,其中相應的蒙版值為255(應保留原始灰度像素值)。

我無法使用

img_clean = img_grayscale[mask]

因為它為數組增加了新的維度(如numpy的文檔所述)。

我該如何解決?

只需添加第三個選項並就地修改您的灰度圖像:

img_grayscale[mask == 255] = 0

PS:如果您不想就地修改,則只能創建一個副本。

我認為這應該做的

np.where(mask == 255, img_grayscale, 0)

有關文檔,請參見https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html

可以使用按位AND來將像素值設置為0 ,其中mask為0

img_clean = img_grayscale & mask

由於掩碼包含0255 ,因此根據您的要求,值可以保持不變或設置為0

暫無
暫無

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

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