Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Python PIL | ImageMath.eval() Method

  • Last Updated : 19 Jul, 2019

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.

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

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:




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




# 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:




My Personal Notes arrow_drop_up
Recommended Articles
Page :