Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Change the ratio between width and height of an image using Python – Pillow

  • Last Updated : 23 Dec, 2020

Python Imaging Library (expansion of PIL) is the de facto image processing package for the Python language. It incorporates lightweight image processing tools that aid in editing, creating, and saving images. This module is not preloaded with Python. So to install it execute the following command in the command-line:

pip install pillow

To change the ratio of height and width we will add or subtract any random value from them.

 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

Functions Used

  • Image.open(fp, mode=’r’) method: This method is used to open the image.
  • Image.resize(size, resample=0) method: This method is used to resize the image. Interpolation happens during the resize process, due to which the quality of image changes whether it is being upscaled (resized to a higher dimension than original) or downscaled (resized to a lower Image then original).

Approach:

  • We will first take an image.
  • Then we will find its height and width.
  • Then we will add and subtract any random number from them to change the ratio.
  • Then we will save the image.

Example:



Image Used:

Python3




# Python program to change the ratio of height and
# width of an image 
from PIL import Image
  
# Taking image as input
img = Image.open('logo.png')
  
# Getting height and width of the image
height = img.size[0]
width = img.size[1]
  
# Printing ratio before conversion
print('Ratio before conversion:', width/height)
  
# Changing the height and width of the image
width = width + 25
height = height - 25
  
# Resizing the image
img = img.resize((width ,height), Image.ANTIALIAS)
  
# Printing the ratio after conversion
print('Ratio after conversion:', width/height)
  
# Saving the resized image
img.save('Resized Image.png')

Output:

Ratio before conversion: 1.0
Ratio after conversion: 1.25

Output Image:




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!