簡體   English   中英

是否可以在 Python Imaging Library (PIL) 中屏蔽圖像?

[英]Is it possible to mask an image in Python Imaging Library (PIL)?

我有一些交通攝像頭圖像,我只想提取道路上的像素。 我以前使用過遙感軟件,在那里可以指定一個操作,例如

img1 * img2 = img3

其中 img1 是原始圖像,而 img2 是直的黑白蒙版。 本質上,圖像的白色部分將評估為

img1 * 1 = img3

黑色部分將評估為

圖像 1 * 0 = 圖像 3

因此,人們可以截取圖像的一部分,讓所有不重要的區域變成黑色。

有沒有辦法使用 PIL 做到這一點? 我找不到任何類似於我習慣看到的圖像代數的東西。 我已經嘗試過混合功能,但這只是將它們淡化在一起。 我已經閱讀了一些關於 numpy 的內容,它似乎有能力做到這一點,但我想確定的是,在我深入研究之前,在 PIL 中沒有直接的方法可以做到這一點。

謝謝你。

Image.composite方法可以做你想做的事。 第一個圖像應該是一個常數值,代表被屏蔽的區域,第二個應該是原始圖像 - 第三個是蒙版。

您可以使用 PIL 庫來屏蔽圖像。 將 alpha 參數添加到 img2,因為您不能將此圖像粘貼到 img1 上。 否則,您將看不到下面的內容,您需要添加一個 alpha 值。

img2.putalpha(128) #如果你放0它會完全透明,保持圖像不透明

然后你可以屏蔽兩個圖像img1.paste(im=img2, box=(0, 0), mask=img2)

暫無
暫無

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

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