当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。