Open In App

Python PIL | ImageMath.eval() Method

Last Updated : 19 Jul, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
PIL is the Python Imaging Library which provides the python interpreter with image editing capabilities .The module also provides a number of factory functions, including functions to load images from files, and to create new images. The ImageMath module can be used to evaluate “image expressions”. The module provides a single eval function, which takes an expression string and one or more images. PIL.ImageMath.eval() Evaluate expression in the given environment. In the current version, ImageMath only supports single-layer images. To process multi-band images, use the split() method or merge() function.
Syntax: PIL.ImageMath.eval(expression, environment) Parameters: expression – A string which uses the standard Python expression syntax. In addition to the standard operators, you can also use the functions described below. environment – A dictionary that maps image names to Image instances. You can use one or more keyword arguments instead of a dictionary, as shown in the above example. Note that the names must be valid Python identifiers. Returns type: An image, an integer value, a floating point value, or a pixel tuple, depending on the expression.
Image1 Used: Image2 Used: Python3 1==
 

# 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()
Output: Another example:Here we change the inbuilt min() to max(). Python3 1==
# 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()
Output:

Next Article
Article Tags :
Practice Tags :

Similar Reads