📜  Python PIL | ImageMath.eval() 方法

📅  最后修改于: 2022-05-13 01:55:07.011000             🧑  作者: Mango

Python PIL | ImageMath.eval() 方法

PIL 是Python Imaging Library,它为Python解释器提供了图像编辑功能。该模块还提供了许多工厂函数,包括从文件加载图像和创建新图像的函数。

ImageMath模块可用于评估“图像表达式”。该模块提供了一个 eval函数,它接受一个表达式字符串和一个或多个图像。

PIL.ImageMath.eval()在给定环境中计算表达式。

在当前版本中,ImageMath 仅支持单层图像。要处理多波段图像,请使用 split() 方法或 merge()函数。

使用的图像1:

使用的图像2:

# 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()

输出: