當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PIL ImageMath.eval()用法及代碼示例


PIL是Python影像庫,它為python解釋器提供了圖像編輯函數。該模塊還提供了許多工廠函數,包括從文件中加載圖像和創建新圖像的函數。

ImageMath模塊可用於評估“image expressions”。該模塊提供了一個eval函數,該函數接受一個表達式字符串和一個或多個圖像。


PIL.ImageMath.eval()在給定的環境中評估表達。

在當前版本中,ImageMath僅支持single-layer圖像。要處理multi-band圖像,請使用split()方法或merge()函數。

用法:  PIL.ImageMath.eval(expression, environment)

參數

expression–使用標準Python表達式語法的字符串。除標準運算符外,您還可以使用以下函數。
environment–將圖像名稱映射到圖像實例的字典。您可以使用一個或多個關鍵字參數來代替字典,如上例所示。請注意,這些名稱必須是有效的Python標識符。

返回類型:圖像,整數值,浮點值或像素元組,具體取決於表達式。

使用的Image1:

使用的Image2:

   
  
# Importing Image module from PIL package  
from PIL import Image, ImageMath 
  
# creating a image object 
im1 = Image.open(r"C:\Users\System-Pc\Desktop\ybear.jpg").convert('L')  
im2 = Image.open(r"C:\Users\System-Pc\Desktop\leave.jpg").convert('L') 
  
# applying the eval method 
  
out = ImageMath.eval("convert(min(a, b), 'L')", a = im1, b = im2) 
out.save("result.jpg") 
out.show()

輸出:

另一個示例:在這裏,我們將內置的min()更改為max()。

# Importing Image module from PIL package  
from PIL import Image, ImageMath 
  
# creating a image object 
im1 = Image.open(r"C:\Users\System-Pc\Desktop\ybear.jpg").convert('L')  
im2 = Image.open(r"C:\Users\System-Pc\Desktop\leave.jpg").convert('L') 
  
# applying the eval method 
  
out = ImageMath.eval("convert(max(a, b), 'L')", a = im1, b = im2) 
out.save("result.jpg") 
out.show()

輸出:



相關用法


注:本文由純淨天空篩選整理自Sunitamamgai大神的英文原創作品 Python PIL | ImageMath.eval() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。