Pillow ImageChops模塊

2021-07-13 11:37 更新

該?ImageChops?模塊包含許多算術(shù)圖像操作,稱為通道運算(“chops”)。這些操作可用于各種目的,包括特殊效果、圖像合成、算法繪畫等。

有關(guān)更多預(yù)制操作,請參閱?ImageOps?。

此時,大多數(shù)通道操作僅針對 8 位圖像(例如“L”和“RGB”)實現(xiàn)。

功能

大多數(shù)通道操作采用一個或兩個圖像參數(shù)并返回新圖像。除非另有說明,否則通道操作的結(jié)果總是被限制在0到max的范圍內(nèi)(對于此模塊中操作支持的所有模式,該范圍為255)。

?PIL.ImageChops.add(image1image2scale=1.0offset=0)?

添加兩個圖像,將結(jié)果除以比例并添加偏移量。如果忽略,則比例默認(rèn)為1.0,偏移為0.0。

out = ((image1 + image2) / scale + offset)
返回類型

Image

?PIL.ImageChops.add_modulo(image1image2)?

添加兩個圖像,而不裁剪結(jié)果。

out = ((image1 + image2) % MAX)
返回類型

Image

?PIL.ImageChops.blend(image1image2alpha)?

使用恒定的透明度權(quán)重混合圖像。又名 PIL.Image.Image.blend() 。

返回類型

Image

?PIL.ImageChops.composite(image1image2mask)?

使用透明蒙版創(chuàng)建合成。Alias PIL.Image.Image.composite() .

返回類型

Image

?PIL.ImageChops.constant(imagevalue)?

用給定的灰度填充通道。

返回類型

Image

?PIL.ImageChops.darker(image1image2)?

逐像素比較兩個圖像,并返回包含較暗值的新圖像。

out = min(image1, image2)
返回類型

Image

?PIL.ImageChops.difference(image1image2)?

返回兩個圖像之間逐像素差的絕對值。

out = abs(image1 - image2)
返回類型

Image

?PIL.ImageChops.duplicate(image)?

復(fù)制頻道。又名 PIL.Image.Image.copy() .

返回類型

Image

?PIL.ImageChops.invert(image)?

反轉(zhuǎn)圖像(通道)。

out = MAX - image
返回類型

Image

?PIL.ImageChops.lighter(image1image2)?

逐像素比較兩個圖像,并返回一個包含較亮值的新圖像。

out = max(image1, image2)
返回類型

Image

?PIL.ImageChops.logical_and(image1image2)?

兩個映像之間的邏輯AND。

兩個圖像都必須具有模式“1”。如果要對模式不是“1”的映像執(zhí)行邏輯與運算,請嘗試 multiply() 使用黑白蒙版作為第二張圖片。

out = ((image1 and image2) % MAX)
返回類型

Image

?PIL.ImageChops.logical_or(image1image2)?

兩個圖像之間的邏輯或。

兩個圖像都必須具有模式“1”。

out = ((image1 or image2) % MAX)
返回類型

Image

PIL.ImageChops.logical_xor(image1image2)

兩個映像之間的邏輯異或。

兩個圖像都必須具有模式“1”。

out = ((bool(image1) != bool(image2)) % MAX)
返回類型

?Image?

?PIL.ImageChops.multiply(image1image2)?

將兩個圖像疊加在一起。

如果將圖像與實心黑色圖像相乘,則結(jié)果為黑色。如果用純白圖像相乘,圖像不受影響。

out = image1 * image2 / MAX
返回類型

Image

?PIL.ImageChops.soft_light(image1image2)?

使用柔光算法將兩個圖像疊加在一起

返回類型

Image

?PIL.ImageChops.hard_light(image1image2)?

使用強光算法將兩個圖像疊加在一起

返回類型

Image

?PIL.ImageChops.overlay(image1image2)?

使用疊加算法將兩個圖像疊加在一起

返回類型

Image

?PIL.ImageChops.offset(imagexoffsetyoffset=None)?

返回數(shù)據(jù)被給定距離偏移的圖像的副本。數(shù)據(jù)環(huán)繞邊緣。如果 ?yoffset ?省略,則假定等于 ?xoffset?。

參數(shù)
  • xoffset -- 水平距離。

  • yoffset -- 垂直距離。如果省略,則兩個距離都設(shè)置為相同的值。

返回類型

Image.

?PIL.ImageChops.screen(image1image2)?

將兩個倒置的圖像疊加在一起。

out = MAX - ((MAX - image1) * (MAX - image2) / MAX)
返回類型

Image

?PIL.ImageChops.subtract(image1image2scale=1.0offset=0)?

減去兩個圖像,將結(jié)果除以比例并添加偏移量。如果忽略,則比例默認(rèn)為1.0,偏移為0.0。

out = ((image1 - image2) / scale + offset)
返回類型

Image

?PIL.ImageChops.subtract_modulo(image1image2)?

減去兩個圖像,而不裁剪結(jié)果。

out = ((image1 - image2) % MAX)
返回類型

Image


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號