classPIL.Image.
Image
?這個類表示一個圖像對象。要創(chuàng)建 Image
對象,請使用適當(dāng)?shù)墓S函數(shù)。幾乎沒有任何理由直接調(diào)用Image構(gòu)造函數(shù)。
?open()
?
new()
frombytes()
Image
? 類的實例具有以下方法。除非另有說明,否則所有方法都返回 ?Image
?類的實例,保存生成的圖像。
Image.
alpha_composite
(im, dest=0, 0, source=0, 0)
?Image.alpha_composite的“就地”模擬。將圖像合成到該圖像上。
im -- 要在此圖像上合成的圖像
dest -- 可選的2個元組(左上角),指定此(目標(biāo))圖像中的左上角。
source -- 覆蓋源圖像中左上角的可選2(左,上)元組,或源矩形邊界的4個元組(左,上,右,下)
性能說明:目前沒有在核心層中就地實現(xiàn)。
Image.
convert
(mode=None, matrix=None, dither=None, palette=0, colors=256)
?返回此圖像的轉(zhuǎn)換副本。對于“P”模式,此方法通過調(diào)色板轉(zhuǎn)換像素。如果省略了mode,則會選擇一個模式,以便可以在不使用調(diào)色板的情況下表示圖像和調(diào)色板中的所有信息。
當(dāng)前版本支持“l(fā)”、“RGB”和“CMYK”之間的所有可能轉(zhuǎn)換。這個 ?matrix
參數(shù)只支持“L”和“RGB”。
將彩色圖像轉(zhuǎn)換為灰度(模式“L”)時,庫使用ITU-R 601-2 Luma轉(zhuǎn)換:
L = R * 299/1000 + G * 587/1000 + B * 114/1000
將灰度(“L”)或“RGB”圖像轉(zhuǎn)換為雙層(模式“1”)圖像的默認(rèn)方法使用Floyd Steinberg抖動來近似原始圖像的亮度級別。如果抖動 NONE
,則所有大于 127 的值都設(shè)置為 255(白色),所有其他值設(shè)置為 0(黑色)。要使用其他閾值,請使用 ?
方法。point()
?
當(dāng)不帶matrix
參數(shù)從“RGBA”轉(zhuǎn)換為“P”時,這會將操作傳遞給quantize()
、 和dither
并被palette
忽略。
mode -- 請求的模式。見: 模式 。
matrix -- 可選的轉(zhuǎn)換矩陣。如果給定,則應(yīng)該是包含浮點值的4或12元組。
dither -- 抖動方法,在從模式“RGB”轉(zhuǎn)換為“P”或從“RGB”或“L”轉(zhuǎn)換為“1”時使用??捎玫姆椒ㄊ?code style="background-color: rgb(255, 255, 255);">?NONE
?或?FLOYDSTEINBERG
?(默認(rèn))。請注意,matrix
提供時不使用此選項。
palette -- 從模式“RGB”轉(zhuǎn)換為“P”時要使用的調(diào)色板。可用的選項板有 WEB
或 ADAPTIVE
.
colors -- 要用于 ADAPTIVE
調(diào)色板。默認(rèn)為256。
Image
一個 Image
對象。
以下示例將RGB圖像(根據(jù)ITU-R 709線性校準(zhǔn),使用D65亮度)轉(zhuǎn)換為CIE XYZ顏色空間:
rgb2xyz = (
0.412453, 0.357580, 0.180423, 0,
0.212671, 0.715160, 0.072169, 0,
0.019334, 0.119193, 0.950227, 0)
out = im.convert("RGB", rgb2xyz)
Image.
crop
(box=None)
?返回此圖像中的矩形區(qū)域??蚴嵌x左、上、右和下像素坐標(biāo)的四元組。
注意:在Pillow3.4.0之前,這是一個懶惰的操作。
box -- 裁剪矩形,作為(左、上、右、下)元組。
Image
一個 Image
對象。
這將使用提供的坐標(biāo)裁剪輸入圖像:
from PIL import Image
im = Image.open("hopper.jpg")
# The crop method from the Image module takes four coordinates as input.
# The right can also be represented as (left+width)
# and lower can be represented as (upper+height).
(left, upper, right, lower) = (20, 20, 100, 100)
# Here the image "im" is cropped and assigned to new variable im_crop
im_crop = im.crop((left, upper, right, lower))
Image.
draft
(mode, size)
?配置 Mapfile 加載程序,使其返回盡可能與給定模式和大小匹配的映像版本。例如,可以使用此方法在加載彩色JPEG時將其轉(zhuǎn)換為灰度。
如果進(jìn)行了任何更改,則返回一個帶有 mode
和 box
原始圖像的坐標(biāo)在修改后的圖像內(nèi)。
請注意,此方法修改了 Image
物體就位。如果圖像已加載,則此方法無效。
注意:此方法不適用于大多數(shù)圖像。它目前只為JPEG和MPO圖像實現(xiàn)。
mode -- 請求的模式。
size -- 請求的大小。
Image.
entropy
(mask=None, extrema=None)
?計算并返回圖像的熵。
該方法將二級圖像(模式“1”)作為灰度(“L”)圖像處理。
如果提供了遮罩,則該方法對遮罩圖像為非零的圖像部分使用直方圖。遮罩圖像的大小必須與圖像相同,并且是雙層圖像(模式“1”)或灰度圖像(“L”)。
mask -- 一個可選的遮罩。
extrema -- 手動指定的極值的可選元組。
表示圖像熵的浮點值
Image.
filter
(filter)
?使用給定的篩選器篩選此圖像。有關(guān)可用篩選器的列表,請參閱 ImageFilter
模塊。
filter -- 過濾內(nèi)核。
一個Image
對象。
這將使用來自 ?ImageFilter
?模塊:
from PIL import Image, ImageFilter
im = Image.open("hopper.jpg")
# Blur the input image using the filter ImageFilter.BLUR
im_blurred = im.filter(filter=ImageFilter.BLUR)
Image.
frombytes
(data, decoder_name='raw', *args)
?從bytes對象加載此圖像和像素數(shù)據(jù)。
此方法類似于 frombytes()
函數(shù),但將數(shù)據(jù)加載到此圖像中,而不是創(chuàng)建新的圖像對象。
Image.
getbands
()
?返回一個包含此圖像中每個帶區(qū)的名稱的元組。例如, getbands 在RGB圖像上返回(“R”、“G”、“B”)。
包含帶區(qū)名稱的元組。
?tuple
?
這有助于獲取輸入圖像的波段:
from PIL import Image
im = Image.open("hopper.jpg")
print(im.getbands()) # Returns ('R', 'G', 'B')
這有助于獲取輸入圖像的邊界框坐標(biāo):
from PIL import Image
im = Image.open("hopper.jpg")
print(im.getbbox())
# Returns four coordinates in the format (left, upper, right, lower)
Image.
getchannel
(channel)
?返回包含源圖像的單個通道的圖像。
channel -- 返回哪個通道。可以是索引(“rgb”的“r”通道為0)或通道名稱(“rgb a”的alpha通道為a”)。
處于“L”模式的圖像。
4.3.0 新版功能。
Image.
getcolors
(maxcolors=256)
?返回此圖像中使用的顏色列表。顏色將處于圖像模式。例如,RGB 圖像將返回(紅色、綠色、藍(lán)色)顏色值的元組,而 P 圖像將返回調(diào)色板中顏色的索引。
maxcolors -- 最大顏色數(shù)。如果超過此數(shù)字,此方法將返回?None
?。默認(rèn)限制為256色。
(計數(shù)、像素)值的未排序列表。
Image.
getdata
(band=None)
?將此圖像的內(nèi)容作為包含像素值的序列對象返回。序列對象被展平,因此行1的值直接位于行0的值之后,依此類推。
注意,這個方法返回的序列對象是一個內(nèi)部PIL數(shù)據(jù)類型,它只支持特定的序列操作。要將其轉(zhuǎn)換為普通序列(例如用于打?。?,請使用?list(im.getdata())
?。
band -- 返回哪個波段。默認(rèn)值是返回所有帶區(qū)。要返回單個波段,請傳遞索引值(例如0,從“rgb”圖像中獲取“r”波段)。
類似序列的對象。
Image.
histogram
(mask=None, extrema=None)
?返回圖像的直方圖。柱狀圖以像素計數(shù)列表的形式返回,每個像素值對應(yīng)一個源圖像。如果圖像有多個波段,則所有波段的柱狀圖都會連接起來(例如,“RGB”圖像的柱狀圖包含768個值)。
該方法將二級圖像(模式“1”)作為灰度(“L”)圖像處理。
如果提供了遮罩,該方法將返回圖像中遮罩圖像非零部分的直方圖。遮罩圖像必須與圖像具有相同的大小,并且是雙層圖像(模式“1”)或灰度圖像(“L”)。
mask -- 一個可選的遮罩。
extrema -- 手動指定的極值的可選元組。
包含像素計數(shù)的列表。
Image.
paste
(im, box=None, mask=None)
?將另一個圖像粘貼到此圖像中。box參數(shù)要么是給出左上角的2元組,要么是定義左、上、右和下像素坐標(biāo)的4元組,要么是?None
?(與(0,0)相同)。如果給定4元組,則粘貼圖像的大小必須與區(qū)域的大小匹配。
如果模式不匹配,則粘貼的圖像將轉(zhuǎn)換為此圖像的模式(請參見 convert()
詳細(xì)方法)。
源可以是包含像素值的整數(shù)或元組,而不是圖像。然后,該方法用給定的顏色填充該區(qū)域。創(chuàng)建RGB圖像時,還可以使用ImageColor模塊支持的顏色字符串。
如果給定了遮罩,則此方法僅更新遮罩指示的區(qū)域。您可以使用“1”、“l(fā)”或“rgba”圖像(在后一種情況下,alpha帶用作遮罩)。如果遮罩為255,則按原樣復(fù)制給定圖像。如果遮罩為0,則保留當(dāng)前值。中間值將兩個圖像混合在一起,包括它們的alpha通道(如果有的話)。
如果你想結(jié)合圖像的阿爾法通道,可以參考alpha_composite()
。
im -- 源圖像或像素值(整數(shù)或元組)。
box -- 一個可選的4元組,給出要粘貼到的區(qū)域。如果使用2元組,則將其視為左上角。如果省略或沒有,則源將粘貼到左上角。如果將圖像作為第二個參數(shù)提供,而沒有第三個參數(shù),則框默認(rèn)為(0,0),第二個參數(shù)將解釋為遮罩圖像。
mask -- 可選的遮罩圖像。
Image.
point
(lut, mode=None)
?通過查找表或函數(shù)映射此圖像。
lut -- 一個查找表,包含圖像中每個波段的256個(或65536個,如果self.mode==“i”和mode==“l(fā)”)值??梢允褂煤瘮?shù)代替,它應(yīng)該采用單個參數(shù)。對每個可能的像素值調(diào)用一次函數(shù),結(jié)果表將應(yīng)用于圖像的所有波段。它也可能是一個???ImagePointHandler?
? ?對象:
class Example(Image.ImagePointHandler): def point(self, data): # Return result
mode -- 輸出模式(默認(rèn)與輸入相同)。在當(dāng)前版本中,只有當(dāng)源圖像具有模式“L”或“P”,并且輸出具有模式“1”或源圖像模式為“I”,并且輸出模式為“L”時,才能使用此選項。
一個 Image
對象。
Image.
putalpha
(alpha)
?添加或替換此圖像中的alpha層。如果圖像沒有alpha層,它將轉(zhuǎn)換為“l(fā)a”或“rgba”。新層必須是“l(fā)”或“1”。
alpha -- 新的alpha層。這可以是與此圖像大小相同的“l(fā)”或“1”圖像,也可以是整數(shù)或其他顏色值。
Image.
putdata
(data, scale=1.0, offset=0.0)
?將像素數(shù)據(jù)復(fù)制到此圖像。此方法將數(shù)據(jù)從序列對象復(fù)制到圖像中,從左上角(0,0)開始,一直復(fù)制到圖像或序列結(jié)束。比例和偏移值用于調(diào)整序列值: 像素=值*比例+偏移.
data -- 序列對象。
scale -- 可選的比例值。默認(rèn)值為1.0。
offset -- 可選的偏移值。默認(rèn)值為0.0。
Image.
putpalette
(data, rawmode='RGB')
?將調(diào)色板附加到此圖像。圖像必須是“p”、“p a”、“l(fā)”或“l(fā)a”圖像,調(diào)色板序列必須包含768個整數(shù)值,其中每組三個值代表對應(yīng)像素索引的紅色、綠色和藍(lán)色值。您可以使用8位字符串代替整數(shù)序列。
data -- 調(diào)色板序列(列表或字符串)。
rawmode -- 調(diào)色板的原始模式。
Image.
putpixel
(xy, value)
?修改給定位置的像素。對于單波段圖像,顏色以單個數(shù)值表示,對于多波段圖像,顏色以元組表示。除此之外,p圖像還接受rgb和rgba元組。
請注意,此方法相對較慢。要進(jìn)行更廣泛的更改,請使用 paste()
或 ImageDraw
模塊代替。
參見:
paste()
putdata()
ImageDraw
xy -- 像素坐標(biāo),表示為(x,y)。
value -- 像素值。
Image.
quantize
(colors=256, method=None, kmeans=0, palette=None, dither=1)
?使用指定的顏色數(shù)將圖像轉(zhuǎn)換為“p”模式。
colors -- 所需的顏色數(shù),<=256
method -- MEDIANCUT
(中位數(shù)切割), MAXCOVERAGE
(最大覆蓋率), FASTOCTREE
(快速八叉樹), LIBIMAGEQUANT
(libimagequant;檢查支持使用 PIL.features.check_feature()
具有 feature="libimagequant"
)默認(rèn)情況下,?MEDIANCUT
?將使用。
RGBA 圖像除外。?MEDIANCUT
?并且 ?MAXCOVERAGE
?不支持 RGBA 圖像,因此 ?FASTOCTREE
?默認(rèn)使用。
kmeans -- 整數(shù)
palette -- 量化到給定的調(diào)色板 ?
.PIL.Image.Image
?
dither -- 抖動方法,從模式“RGB”轉(zhuǎn)換為“P”或從“RGB”或“L”轉(zhuǎn)換為“1”時使用??捎玫姆椒ㄓ?nbsp;?
或 NONE
??
(默認(rèn))。默認(rèn)值:1(傳統(tǒng)設(shè)置)FLOYDSTEINBERG
?
一個新的image對象
Image.
reduce
(factor, box=None)
?返回圖像減少factor
次數(shù)的副本。如果圖像的大小不能被 整除factor
,則結(jié)果大小將被四舍五入。
factor -- 寬度和高度分別大于0的整數(shù)或兩個整數(shù)的元組。
box -- 一個可選的4元組整數(shù),提供要縮小的源圖像區(qū)域。值必須在(0,0,width,height)矩形內(nèi)。如果省略或?None
?,則使用整個源。
Image.
remap_palette
(dest_map, source_palette=None)
?重寫圖像以重新排序調(diào)色板。
dest_map -- 原始調(diào)色板中的索引列表。例如? [1,0]
?將交換一個兩項調(diào)色板,?list(range(256))
?是標(biāo)識轉(zhuǎn)換。
source_palette -- Bytes 或 None。
一個Image
對象。
Image.
resize
(size, resample=3, box=None, reducing_gap=None)
?返回此圖像的已調(diào)整大小的副本。
size -- 以像素為單位的請求大小,作為2元組:(寬度、高度)。
resample -- 可選的重新采樣過濾器。這可能是 PIL.Image.NEAREST
, PIL.Image.BOX
, PIL.Image.BILINEAR
, PIL.Image.HAMMING
, PIL.Image.BICUBIC
或 PIL.Image.LANCZOS
。默認(rèn)篩選器為 PIL.Image.BICUBIC
。 如果圖像具有模式“1”或“P”,則始終設(shè)置為 PIL.Image.NEAREST
。
box -- 一個可選的4元組浮點數(shù),提供要縮放的源圖像區(qū)域。值必須在(0,0,width,height)矩形內(nèi)。如果省略或?None
?,則使用整個源。
reducing_gap -- 通過分兩步調(diào)整圖像大小來應(yīng)用優(yōu)化。首先,使用 將圖像縮小整數(shù)倍?
。其次,使用常規(guī)重采樣調(diào)整大小。最后一步改變大小不少于reduce()
?reducing_gap
次。 reducing_gap
可以是 ?None
?(不執(zhí)行第一步)或應(yīng)該大于 1.0。越大reducing_gap
,結(jié)果越接近公平重采樣。越小reducing_gap
,調(diào)整大小越快。隨著reducing_gap
大于或等于3.0,結(jié)果是公平的,從在大多數(shù)情況下重采樣難以區(qū)分。默認(rèn)值為 ?None
?(無優(yōu)化)。
一個 Image
對象。
這將調(diào)整給定圖像的大小? (width, height)
? 到 ?(width/2, height/2)
? :
from PIL import Image
im = Image.open("hopper.jpg")
# Provide the target width and height of the image
(width, height) = (im.width // 2, im.height // 2)
im_resized = im.resize((width, height))
Image.
rotate
(angle, resample=0, expand=0, center=None, translate=None, fillcolor=None)
返回此圖像的旋轉(zhuǎn)副本。此方法返回此圖像的副本,圍繞其中心逆時針旋轉(zhuǎn)給定的度數(shù)。
angle -- 逆時針角度。
resample -- 可選的重新采樣過濾器。這可能是 PIL.Image.NEAREST
(使用最近的鄰居) PIL.Image.BILINEAR
(2x2環(huán)境中的線性插值),或 PIL.Image.BICUBIC
(4x4環(huán)境中的三次樣條插值)。如果省略,或者圖像具有模式“1”或“P”,則設(shè)置為 PIL.Image.NEAREST
。
expand -- 可選擴(kuò)展標(biāo)志。如果為真,則展開輸出圖像,使其足夠大以容納整個旋轉(zhuǎn)圖像。如果為false或省略,則使輸出圖像與輸入圖像大小相同。請注意,展開標(biāo)志假定圍繞中心旋轉(zhuǎn),不進(jìn)行平移。
center -- 可選旋轉(zhuǎn)中心(2元組)。原點是左上角。默認(rèn)為圖像的中心。
translate -- 可選的后旋轉(zhuǎn)翻譯(2元組)。
fillcolor -- 旋轉(zhuǎn)圖像外部區(qū)域的可選顏色。
一個 Image
對象。
這將使輸入圖像旋轉(zhuǎn) ?theta
?逆時針度數(shù):
from PIL import Image
im = Image.open("hopper.jpg")
# Rotate the image by 60 degrees counter clockwise
theta = 60
# Angle is in degrees counter clockwise
im_rotated = im.rotate(angle=theta)
Image.
save
(fp, format=None, **params)
?以給定的文件名保存此圖像。如果未指定格式,則盡可能根據(jù)文件擴(kuò)展名確定要使用的格式。
關(guān)鍵字選項可用于向作者提供附加說明。如果作者不認(rèn)識一個選項,它會被默默地忽略
您可以使用文件對象而不是文件名。在這種情況下,您必須始終指定格式。文件對象必須實現(xiàn)?seek
?,?tell
?和?write
?方法,并在二進(jìn)制模式打開。
fp -- 文件名(字符串)、?pathlib.path
?對象或文件對象。
format -- 可選格式替代。如果省略,則使用的格式由文件擴(kuò)展名決定。如果使用的是文件對象而不是文件名,則應(yīng)始終使用此參數(shù)。
params -- 圖像編寫器的額外參數(shù)。
None
?ValueError
? -- 如果無法從文件名確定輸出格式。使用“格式”選項解決此問題。
?OSError
? -- 如果無法寫入文件。文件可能已創(chuàng)建,并且可能包含部分?jǐn)?shù)據(jù)。
Image.
seek
(frame)
?查找此序列文件中的給定幀。如果在序列結(jié)尾之外查找,該方法將引發(fā) EOFError
例外。打開序列文件時,庫自動查找第0幀。
見 tell()
.
frame -- 幀編號,從0開始。
?EOFError
?-- 如果調(diào)用試圖在序列結(jié)束后查找。
Image.
show
(title=None, command=None)
?顯示此圖像。此方法主要用于調(diào)試目的。
該方法在?PIL.ImageShow.show()
?內(nèi)部調(diào)用。您可以使用 ?PIL.ImageShow.register()
?覆蓋其默認(rèn)行為。
圖像首先保存到一個臨時文件中。默認(rèn)情況下,它將采用 PNG 格式。
在 Unix 上,然后使用display、eog或 xv實用程序打開圖像,具體取決于可以找到的那個。
在 macOS 上,圖像是使用本機(jī)預(yù)覽應(yīng)用程序打開的。
在 Windows 上,圖像使用標(biāo)準(zhǔn)的 PNG 顯示實用程序打開。
title -- 在可能的情況下,用于圖像窗口的可選標(biāo)題。
Image.
split
()
?將此圖像拆分為單獨的波段。此方法從圖像返回單個圖像帶的元組。例如,分割一個“RGB”圖像將創(chuàng)建三個新圖像,每個新圖像包含一個原始波段(紅色、綠色、藍(lán)色)的副本。
如果你只需要一個波段, getchannel()
方法更方便快捷。
包含波段的元組。
Image.
thumbnail
(size, resample=3, reducing_gap=2.0)
?將此圖像制作成縮略圖。此方法修改圖像以包含不大于給定大小的自身縮略圖版本。此方法計算適當(dāng)?shù)目s略圖大小以保留圖像的方面,調(diào)用 draft()
方法來配置文件讀取器(如果適用),并最終調(diào)整圖像的大小。
請注意,此函數(shù)會就地修改 Image
對象。如果還需要使用全分辨率圖像,請將此方法應(yīng)用于 一個copy()
的原始圖像。
size -- 請求的大小。
resample -- 可選的重新采樣過濾器。這可能是 PIL.Image.NEAREST
, PIL.Image.BILINEAR
, PIL.Image.BICUBIC
或 PIL.Image.LANCZOS
. 如果省略,則默認(rèn)為 PIL.Image.BICUBIC
. 是 PIL.Image.NEAREST
2.5.0之前的版本)。
reducing_gap -- 通過分兩步調(diào)整圖像大小來應(yīng)用優(yōu)化。首先,使用?
或 reduce()
??
對于 JPEG 圖像將圖像縮小整數(shù)倍。其次,使用常規(guī)重采樣調(diào)整大小。最后一步改變大小不少于draft()
?reducing_gap
次。 reducing_gap
可以是 ?None
?(不執(zhí)行第一步)或應(yīng)該大于 1.0。reducing_gap
越大,結(jié)果越接近公平重采樣。reducing_gap
越小,調(diào)整大小越快。隨著reducing_gap
大于或等于3.0,結(jié)果是公平的,從在大多數(shù)情況下重采樣難以區(qū)分。默認(rèn)值為 2.0(非常接近公平重采樣,但在許多情況下仍然更快)。
None
Image.
tobitmap
(name='image')
?返回轉(zhuǎn)換為x11位圖的圖像。
此方法僅適用于模式“1”圖像。
name -- 用于位圖變量的名稱前綴。
包含x11位圖的字符串。
?ValueError
? -- 如果模式不是“1”
Image.
tobytes
(encoder_name='raw', *args)
?以字節(jié)對象的形式返回圖像。
此方法從內(nèi)部存儲器返回原始圖像數(shù)據(jù)。對于壓縮圖像數(shù)據(jù)(如PNG、JPEG),請使用?
save()
?,內(nèi)存中的數(shù)據(jù)帶有一個?BytesIO
?參數(shù)。
encoder_name -- 使用什么編碼器。默認(rèn)使用標(biāo)準(zhǔn)的“原始”編碼器。
args -- 編碼器的額外參數(shù)。
一個 ?bytes
?對象
Image.
transform
(size, method, data=None, resample=0, fill=1, fillcolor=None)
轉(zhuǎn)換此圖像。此方法創(chuàng)建具有給定大小和與原始圖像相同模式的新圖像,并使用給定的轉(zhuǎn)換將數(shù)據(jù)復(fù)制到新圖像。
size -- 輸出大小。
method -- 轉(zhuǎn)換方法。這是其中之一 PIL.Image.EXTENT
(切出矩形子區(qū)域) PIL.Image.AFFINE
(仿射變換) PIL.Image.PERSPECTIVE
(透視變換) PIL.Image.QUAD
(將四邊形映射到矩形),或 PIL.Image.MESH
(在一個操作中映射多個源四邊形)。它也可能是一個?ImageTransformHandler
? 對象:
class Example(Image.ImageTransformHandler):
def transform(self, size, data, resample, fill=1):
# Return result
它也可能是一個對象,其?method.getdata
?方法返回一個提供 new?method
?和?data
?值的元組:
class Example:
def getdata(self):
method = Image.EXTENT
data = (0, 0, 100, 100)
return method, data
data -- 轉(zhuǎn)換方法的額外數(shù)據(jù)。
resample -- 可選的重新采樣過濾器。它可以是 PIL.Image.NEAREST
(使用最近鄰算法) PIL.Image.BILINEAR
(2x2環(huán)境中的線性插值),或 PIL.Image.BICUBIC
(4x4環(huán)境中的三次樣條插值)。如果省略,或者圖像具有模式“1”或“P”,則設(shè)置為 PIL.Image.NEAREST
。
fill -- 如果? method
?是一個 ImageTransformHandler
對象,這是傳遞給它的參數(shù)之一。否則,它是未使用的。
fillcolor -- 輸出圖像中轉(zhuǎn)換外部區(qū)域的可選填充顏色。
一個Image
對象。
Image.
transpose
(method)
?轉(zhuǎn)置圖像(以90度的步幅翻轉(zhuǎn)或旋轉(zhuǎn))
method -- 其中一個 PIL.Image.FLIP_LEFT_RIGHT
, PIL.Image.FLIP_TOP_BOTTOM
, PIL.Image.ROTATE_90
, PIL.Image.ROTATE_180
, PIL.Image.ROTATE_270
, PIL.Image.TRANSPOSE
或 PIL.Image.TRANSVERSE
。
返回此圖像的翻轉(zhuǎn)或旋轉(zhuǎn)副本。
這將使用FLIP_LEFT_RIGHT
方法翻轉(zhuǎn)輸入圖像。
from PIL import Image
im = Image.open("hopper.jpg")
# Flip the image from left to right
im_flipped = im.transpose(method=Image.FLIP_LEFT_RIGHT)
# To flip the image from top to bottom,
# use the method "Image.FLIP_TOP_BOTTOM"
Image.
verify
()
?驗證文件的內(nèi)容。對于從文件讀取的數(shù)據(jù),此方法嘗試確定文件是否已損壞,而不實際解碼圖像數(shù)據(jù)。如果此方法發(fā)現(xiàn)任何問題,則會引發(fā)適當(dāng)?shù)漠惓!H绻褂么朔椒ê笮枰虞d圖像,則必須重新打開圖像文件。
Image.
load
()
?為圖像分配存儲空間并加載像素數(shù)據(jù)。在正常情況下,不需要調(diào)用此方法,因為當(dāng)首次訪問打開的圖像時,Image類會自動加載該圖像。
如果與圖像相關(guān)聯(lián)的文件是通過 Pillow 打開的,那么此方法將關(guān)閉它。例外情況是如果圖像有多個幀,在這種情況下,文件將保持打開狀態(tài)以進(jìn)行查找操作。
一個圖像訪問對象。
PixelAccess Class 或者 PIL.PyAccess
Image.
close
()
?如果可能,關(guān)閉文件指針。
此操作將破壞圖像核心并釋放其內(nèi)存。之后圖像數(shù)據(jù)將無法使用。
此函數(shù)僅用于關(guān)閉未被 load()
方法。
更多建議: