W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
PIL.Image.open(fp, mode='r')
? 打開并標(biāo)識給定的圖像文件。這是一個懶惰的操作;此函數(shù)標(biāo)識文件,但文件保持打開狀態(tài),并且在嘗試處理數(shù)據(jù)(或調(diào)用 ?load()
?方法)。見 ?new()
? 。請參閱Pillow 中的文件處理。
fp – 文件名(字符串)、?pathlib.Path
?對象或文件對象。文件對象必須實現(xiàn)file.read
、 file.seek
和file.tell
方法,并以二進制模式打開。
模式- 模式。如果給出,這個參數(shù)必須是“r”。
格式- 嘗試加載文件的格式列表或元組。這可用于限制檢查的格式集。通過None
以嘗試所有支持的格式。您可以通過運行?python3 -m PIL
?或使用?PIL.features.pilinfo()
?函數(shù)來打印可用格式集。
一個Image
對象。
?FileNotFoundError
?– 如果找不到文件。
?PIL.UnidentifiedImageError
? – 如果無法打開和識別圖像。
?ValueError
? – 如果mode
不是“r”,或者StringIO
實例用于fp
.
?TypeError
?– 如果formats
不是None
,則為列表或元組。
為了防止“解壓炸彈”(即解壓成大量數(shù)據(jù)的惡意文件,旨在通過使用大量內(nèi)存而崩潰或造成中斷)引起的潛在 DOS 攻擊,如果像素數(shù)在圖像中超過某個限制,Pillow 將發(fā)出一個?DecompressionBombWarning
? ,?PIL.Image.MAX_IMAGE_PIXELS
?。
這個閾值可以通過設(shè)置?PIL.Image.MAX_IMAGE_PIXELS
?來改變。也可以通過設(shè)置?Image.MAX_IMAGE_PIXELS = None
?禁用它。
如果需要,可以使用 將警告轉(zhuǎn)換為帶有?warnings.simplefilter('error', Image.DecompressionBombWarning)
?的錯誤或使用 ? ?warnings.simplefilter('ignore', Image.DecompressionBombWarning)?
?完全抑制 。另請參閱 日志記錄文檔以將警告輸出到日志記錄工具而不是使用 stderr。
如果像素數(shù)大于兩倍?PIL.Image.MAX_IMAGE_PIXELS
?,則DecompressionBombError
?將被提升。
PIL.Image.
alpha_composite
(im1, im2)
?IM1上的Alpha復(fù)合IM2。
im1 -- 第一張圖片。必須具有模式RGBA。
im2 -- 第二張圖片。必須具有模式RGBA,并且大小與第一個圖像相同。
一個 Image
對象。
PIL.Image.
blend
(im1, im2, alpha)
?通過使用常量alpha在兩個輸入圖像之間插入來創(chuàng)建新圖像。:
out = image1 * (1.0 - alpha) + image2 * alpha
im1 -- 第一張圖片。
im2 -- 第二張圖片。必須與第一個圖像具有相同的模式和大小。
alpha -- 插值α因子。如果alpha為0.0,則返回第一個圖像的副本。如果alpha為1.0,則返回第二個圖像的副本。alpha值沒有限制。如有必要,將結(jié)果裁剪到允許的輸出范圍內(nèi)。
一個Image
對象。
PIL.Image.
composite
(image1, image2, mask)
?通過使用透明蒙版混合圖像來創(chuàng)建合成圖像。
image1 -- 第一張圖片。
image2 -- 第二張圖片。必須與第一個圖像具有相同的模式和大小。
mask -- 掩模圖像。此圖像可以具有模式“1”、“l(fā)”或“RGBA”,并且必須與其他兩個圖像具有相同的大小。
PIL.Image.
eval
(image, *args)
?對給定圖像中的每個像素應(yīng)用函數(shù)(應(yīng)采用一個參數(shù))。如果圖像有多個波段,則對每個波段應(yīng)用相同的功能。請注意,該函數(shù)對每個可能的像素值進行一次評估,因此不能使用隨機組件或其他生成器。
image -- 輸入圖像。
function -- 一個函數(shù)對象,采用一個整型參數(shù)。
一個 Image
對象。
PIL.Image.
merge
(mode, bands)
?將一組單波段圖像合并為新的多波段圖像。
mode -- 用于輸出圖像的模式。見: 模式 。
bands -- 包含輸出圖像中每個波段一個單波段圖像的序列。所有帶區(qū)的大小必須相同。
一個 Image
對象。
PIL.Image.
new
(mode, size, color=0)
?創(chuàng)建具有給定模式和大小的新圖像。
mode -- 用于新圖像的模式。見: 模式
size -- 以像素為單位包含(寬度、高度)的2元組。
color -- 圖像要使用什么顏色。默認(rèn)為黑色。如果給定,對于單波段模式,這應(yīng)該是一個整數(shù)或浮點值,對于多波段模式,這應(yīng)該是一個元組(每個波段一個值)。創(chuàng)建RGB圖像時,還可以使用ImageColor模塊支持的顏色字符串。如果顏色為“無”,則圖像不會初始化。
一個 Image
對象。
PIL.Image.
fromarray
(obj, mode=None)
?從導(dǎo)出數(shù)組接口的對象(使用緩沖區(qū)協(xié)議)創(chuàng)建圖像內(nèi)存。
如果 obj 不是連續(xù)的,則調(diào)用?tobytes
?方法并使用 frombuffer()
。
如果你有一張NumPy的圖片:
from PIL import Image
import numpy as np
im = Image.open('hopper.jpg')
a = np.asarray(im)
然后可以將其轉(zhuǎn)換為Pillow圖像:
im = Image.fromarray(a)
obj -- 帶數(shù)組接口的對象
mode -- 要使用的模式(如果沒有將由類型決定)見: 模式 。
一個?Image
?對象。
1.1.6 新版功能。
PIL.Image.
frombytes
(mode, size, data, decoder_name='raw', *args)
?從緩沖區(qū)中的像素數(shù)據(jù)創(chuàng)建圖像內(nèi)存的副本。
最簡單的形式是,這個函數(shù)接受三個參數(shù)(模式、大小和未壓縮的像素數(shù)據(jù))。
您還可以使用PIL支持的任何像素解碼器。有關(guān)可用解碼器的詳細信息,請參閱部分 編寫你自己的文件解碼器。
請注意,此函數(shù)只解碼像素數(shù)據(jù),而不是整個圖像。如果在字符串中包含整個圖像,請將其包裝為 BytesIO
對象中,然后使用open()
來加載它。
mode -- 圖像模式。見: 模式 。
size -- 圖像大小。
data -- 包含給定模式的原始數(shù)據(jù)的字節(jié)緩沖區(qū)。
decoder_name -- 使用什么解碼器。
args -- 給定解碼器的其他參數(shù)。
一個 Image
對象。
PIL.Image.
frombuffer
(mode, size, data, decoder_name='raw', *args)
?在字節(jié)緩沖區(qū)中創(chuàng)建引用像素數(shù)據(jù)的圖像內(nèi)存。
此功能類似于 frombytes()
,但盡可能使用字節(jié)緩沖區(qū)中的數(shù)據(jù)。這意味著對原始緩沖區(qū)對象的更改將反映在此圖像中)。并非所有模式都可以共享內(nèi)存;支持的模式包括“l(fā)”、“rgbx”、“rgba”和“cmyk”。
請注意,此函數(shù)只解碼像素數(shù)據(jù),而不是整個圖像。如果您有一個字符串中的整個圖像文件, ?請將其包裝在一個BytesIO
? 對象中,然后使用 open()
來加載它。
在當(dāng)前版本中,用于“原始”解碼器的默認(rèn)參數(shù)與用于 frombytes()
。這是一個bug,可能會在將來的版本中修復(fù)。如果執(zhí)行此操作,當(dāng)前版本將發(fā)出警告;要禁用該警告,應(yīng)提供完整的參數(shù)集。詳情見下文。
mode -- 圖像模式。見: 模式 。
size -- 圖像大小。
data -- 包含給定模式的原始數(shù)據(jù)的字節(jié)或其他緩沖區(qū)對象。
decoder_name -- 使用什么解碼器。
args -- 給定解碼器的其他參數(shù)。對于默認(rèn)編碼器(“raw”),建議您提供完整的參數(shù)集:
frombuffer(mode, size, data, "raw", mode, 0, 1)
一個Image
對象。
1.1.4 新版功能。
PIL.Image.
effect_mandelbrot
(size, extent, quality)
?生成覆蓋給定范圍的Mandelbrot集。
size -- 以像素為單位的請求大小,作為2元組:(寬度、高度)。
extent -- 要覆蓋的范圍,作為4元組:(x0,y0,x1,y2)。
quality -- 質(zhì)量。
PIL.Image.
effect_noise
(size, sigma)
?生成以128為中心的高斯噪聲。
size -- 以像素為單位的請求大小,作為2元組:(寬度、高度)。
sigma -- 噪聲標(biāo)準(zhǔn)差。
這些函數(shù)供插件作者使用。應(yīng)用程序作者可以忽略它們。
PIL.Image.
register_open
(id, factory, accept=None)
?注冊圖像文件插件。應(yīng)用程序代碼中不應(yīng)使用此函數(shù)。
id -- 圖像格式標(biāo)識符。
factory -- 圖像文件工廠方法。
accept -- 一種可選功能,可用于快速拒絕具有其他格式的圖像。
PIL.Image.
register_mime
(id, mimetype)
?注冊圖像MINE類型。應(yīng)用程序代碼中不應(yīng)使用此函數(shù)。
id -- 圖像格式標(biāo)識符。
mimetype -- 此格式的圖像mime類型。
PIL.Image.
register_save
(id, driver)
?注冊圖像保存功能。應(yīng)用程序代碼中不應(yīng)使用此函數(shù)。
id -- 圖像格式標(biāo)識符。
driver -- 以這種格式保存圖像的函數(shù)。
PIL.Image.
register_save_all
(id, driver)
?注冊一個圖像函數(shù)來保存多幀格式的所有幀。應(yīng)用程序代碼中不應(yīng)使用此函數(shù)。
id -- 圖像格式標(biāo)識符。
driver -- 以這種格式保存圖像的函數(shù)。
PIL.Image.
register_extension
(id, extension)
?注冊圖像擴展名。應(yīng)用程序代碼中不應(yīng)使用此函數(shù)。
id -- 圖像格式標(biāo)識符。
extension -- 用于此格式的擴展名。
PIL.Image.
register_extensions
(id, extensions)
?注冊映像擴展名。應(yīng)用程序代碼中不應(yīng)使用此函數(shù)。
id -- 圖像格式標(biāo)識符。
extensions -- 用于此格式的擴展名列表。
PIL.Image.
register_decoder
(name, decoder)
?注冊圖像解碼器。應(yīng)用程序代碼中不應(yīng)使用此函數(shù)。
name -- 解碼器的名稱
decoder -- 返回?imagefile.pydecoder
?對象的可調(diào)用(模式,參數(shù))
4.1.0 新版功能。
PIL.Image.
register_encoder
(name, encoder)
?注冊圖像編碼器。應(yīng)用程序代碼中不應(yīng)使用此函數(shù)。
name -- 編碼器的名稱
encoder -- 返回?imagefile.pyencoder
?對象的可調(diào)用(模式,參數(shù))
4.1.0 新版功能。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: