Python PIL ImageMath.eval()方法

Python PIL ImageMath.eval()方法

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

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

PIL.ImageMath.eval()在给定的环境中评估表达式。

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

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

参数 :

expression – 一个使用标准Python表达式语法的字符串。除了标准的运算符之外,你还可以使用下面描述的函数。
environment – 一个字典,将图像名称映射到图像实例。你可以使用一个或多个关键字参数,而不是一个字典,如上面的例子中所示。注意这些名字必须是有效的 Python 标识符。

返回类型:一个图像、一个整数值、一个浮点值或一个像素元组,取决于表达式。

Image1 Used:
Python PIL ImageMath.eval()方法

Image2 Used:
Python PIL ImageMath.eval()方法

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

输出:

Python PIL ImageMath.eval()方法

另一个例子:这里我们把内置的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()

输出:
Python PIL ImageMath.eval()方法

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程