Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • Build your AI Agent
    • GfG 160
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Contests
    • Accenture Hackathon (Ending Soon!)
    • GfG Weekly [Rated Contest]
    • Job-A-Thon Hiring Challenge
    • All Contests and Events
  • Open CV
  • scikit-image
  • pycairo
  • Pyglet
  • Python
  • Numpy
  • Pandas
  • Python Database
  • Data Science With Python
  • Machine Learning with Python
  • Django
  • Flask
  • R
Open In App
Next Article:
Python: Pillow (a fork of PIL)
Next article icon

Python Pillow Tutorial

Last Updated : 16 Jun, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

sinceDigital Image processing means processing the image digitally with the help of a computer. Using image processing we can perform operations like enhancing the image, blurring the image, extracting text from images, and many more operations. There are various ways to process images digitally. Here we will discuss the Pillow module of Python. Python Pillow is built on the top of PIL (Python Image Library) and is considered as the fork for the same as PIL has been discontinued since 2011. Pillow supports many image file formats including BMP, PNG, JPEG, and TIFF. The library encourages adding support for newer formats in the library by creating new file decoders.

This article aims at providing information about Python Pillow from basics to advance with the help of well-explained concepts and examples. So, let’s not waste any of the time and dive deep into the Pillow.

Installation

Python Pillow does not come in-built with Python. To install it type the below command in the terminal.

pip install pillow

python pillow tutorial installation

After installation let’s get started using the pillow module.

Opening and Displaying the image

The Pillow module provides the open() and show() function to read and display the image respectively. For displaying the image Pillow first converts the image to a .png format (on Windows OS) and stores it in a temporary buffer and then displays it. Therefore, due to the conversion of the image format to .png some properties of the original image file format might be lost (like animation). Therefore, it is advised to use this method only for test purposes.

Example:

 

Image Used for all the below Examples:

Python
from PIL import Image   # Location of the image img = Image.open("geek.jpg")  img.show() 


 

Output:

read and siplay image python pil


Refer to the below articles to get detailed information about opening and displaying images.

  • Python PIL | Image.open() method
  • Python PIL | Image.show() method

Getting information about the opened image

Getting the Size, and format of the Image

  • size attribute provides the size of the image. It returns a tuple that contains width and height.
  • format attribute returns the format of the image file.

Example:

Python
from PIL import Image   # Location of the image img = Image.open("geek.jpg")  # size of the image print(img.size)  # format of the image print(img.format) 

 

Output:

(287, 70)
JPEG

Refer to the below article to get detailed information about Getting the Size, and format of the Image

  • Finding the Size Resolution of Image in Python
  • How to find width and height of an image using Python?

Getting Color mode of the image

The mode attribute of the image tells the type and depth of the pixel in the image. A 1-bit pixel has a range of 0-1, and an 8-bit pixel has a range of 0-255. There are different modes provided by this module. A few of them are:

ModeDescription
11-bit pixels, black and white
L8-bit pixels, Grayscale
P8-bit pixels, mapped to any other mode using a color palette
RGB3×8-bit pixels, true color
RGBA4×8-bit pixels, true color with transparency mask

Example:

Python
from PIL import Image   # Location of the image img = Image.open("geek.jpg")  # mode of the image print(img.mode) 

 

Output:

RGB

Rotating the Image

rotate() method of the Image class is used to rotate the image by a particular angle counterclockwise around its center. After rotating the image, the sections of the image having no pixel values are filled with black (for non-alpha images) and with completely transparent pixels (for images supporting transparency).

Syntax:

new_object = PIL.Image.Image.rotate(image_object, angle, resample=0, expand=0)

OR

new_object = image_object.rotate(angle, resample=0, expand=0)

Example:

Python
# Importing Image module from  # PIL package from PIL import Image import PIL  # creating a image object (main image) im1 = Image.open(r"geek.jpg")  # rotating a image 90 deg counter clockwise im1 = im1.rotate(90, PIL.Image.NEAREST, expand = 1)  # to show specified image im1.show() 

 

Output:
 

python pil tutorial rotate image


Refer to the below articles to get detailed information about rotating the image.

  • Python PIL | rotate() method
  • How to rotate an image using Python?

Flipping the Image

Image.transpose() is used to transpose the image (flip or rotate in 90 degree steps). 

Syntax:

transpose(degree)

Keywords FLIP_TOP_BOTTOM and FLIP_LEFT_RIGHT will be passed to transpose method to flip it.

  • FLIP_TOP_BOTTOM – returns an original image flipped Vertically
  • FLIP_LEFT_RIGHT – returns an original image flipped Horizontally


Example:

Python
# importing PIL Module from PIL import Image  # open the original image original_img = Image.open("geek.jpg")  # Flip the original image vertically vertical_img = original_img.transpose(method=Image.FLIP_TOP_BOTTOM) vertical_img.save("vertical.png")  vertical_img.show()  # close all our files object original_img.close() vertical_img.close() 

Output:

flip image python pil

Refer to the below articles to get detailed information about flipping images.

  • Python PIL | Image.transpose() method
  • How to flip an image horizontally or vertically in Python?

Resizing the image 

Image.resize() returns a resized copy of 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). Therefore resize() should be used cautiously and while providing suitable value for resampling argument.

Syntax: 

Image.resize(size, resample=0)

Example: 

Python
# Importing Image class from PIL module from PIL import Image  # Opens a image in RGB mode im = Image.open(r"geek.jpg")  # Size of the image in pixels  # (size of original image) # (This is not mandatory) width, height = im.size  # Setting the points for cropped image left = 4 top = height / 5 right = 154 bottom = 3 * height / 5  # Cropped image of above dimension # (It will not change original image) im1 = im.crop((left, top, right, bottom)) newsize = (300, 300) im1 = im1.resize(newsize)  # Shows the image in image viewer im1.show() 

Output:

python pil tutorial resize image

Refer to the below article to get detailed information about resizing images.

  • Python PIL | Image.resize() method
  • Change the ratio between width and height of an image using Python – Pillow

Saving the Image

Image.save() saves the image under the given filename. If no format is specified, the format to use is determined from the filename extension, if possible. You can use a file object instead of a filename. In this case, you must always specify the format. The file object must implement the seek, tell, and write methods, and be opened in binary mode.

Syntax: 

Image.save(fp, format=None, **params)

Example:

Python
from PIL import Image   size = (40, 40) img = Image.open(r"geek.jpg")  print("Original size of the image") print(img.size)  # resizing the image r_img = img.resize(size, resample = Image.BILINEAR)  # resized_test.png => Destination_path r_img.save("resized_test.jpg")  # Opening the new image img = Image.open(r"resized_test.jpg")  print("\nNew size of the image") print(img.size) 

Output:

Original size of the image
(287, 70)
New size of the image
(40, 40)

Till now, we have learned the basics of pillow now let’s start with some complex operations like blurring the image of merging two images or even creating a thumbnail. So let’s get started by merging images.

Merging Images

Image.merge() is used to merge a set of single band images into a new multiband image.  

Syntax: 

PIL.Image.merge(mode, bands)

Parameters:

mode – The mode to use for the output image. See: Modes.

bands – A sequence containing one single-band image for each band in the output image. All bands must have the same size.

Returns: An Image object.

Note: We will be using Image.split() method to split the image into individual bands.


Example:

Python
# importing Image class from PIL package from PIL import Image  # creating a object image = Image.open(r"geek.jpg") image.load()  # Splitting the image into individual # bands r, g, b, = image.split()  # merge function used im1 = Image.merge('RGB', (g, b, r)) im1.show() 

Output:

merge image python pil

Merging Two or More Images

Using the merge() method we can also merge two or more images. We have to select two images of the same size or we can resize the image. Then using the new() function we will create a new image and will paste all the images there. See the below example for a better understanding.

Example:

Images Used:


Python
from PIL import Image  img_01 = Image.open("digit-number-img-0.jpg") img_02 = Image.open("digit-number-img-1.jpg") img_03 = Image.open("digit-number-img-2.jpg") img_04 = Image.open("digit-number-img-3.jpg")  img_01_size = img_01.size img_02_size = img_02.size img_03_size = img_02.size img_02_size = img_02.size  print('img 1 size: ', img_01_size) print('img 2 size: ', img_02_size) print('img 3 size: ', img_03_size) print('img 4 size: ', img_03_size)  new_im = Image.new('RGB', (2*img_01_size[0],2*img_01_size[1]), (250,250,250))  new_im.paste(img_01, (0,0)) new_im.paste(img_02, (img_01_size[0],0)) new_im.paste(img_03, (0,img_01_size[1])) new_im.paste(img_04, (img_01_size[0],img_01_size[1]))  new_im.save("merged_images.png", "PNG") new_im.show() 

Output:

merge two or more images python pil

Refer to the below articles to get detailed information about merging images.

  • Python PIL | Image.merge() method
  • How to merge images with same size using the Python 3 module pillow?
  • Python | Copy and Paste Images onto other Image using Pillow
  • How to merge a transparent PNG image with another image using PIL?

Creating a Thumbnail

Image.thumbnail() convert the image into a thumbnail. This method modifies the image to contain a thumbnail version of itself, no larger than the given size. This method calculates an appropriate thumbnail size to preserve the aspect of the image, calls the draft() method to configure the file reader (where applicable), and finally resizes the image.

Note: This function modifies the Image object in place. If you need to use the full resolution image as well, apply this method to a copy() of the original image.

Example:

Image Used:

image-copy-2


Python
# importing Image class from PIL package from PIL import Image  # creating a object image = Image.open(r"image.jpg") MAX_SIZE = (100, 100)  # Creating the thumbnail image.thumbnail(MAX_SIZE)  image.show() 

 

Output:

Refer to the below articles to get detailed information about creating thumbnails.

  • Python PIL | Image.thumbnail() Method
  • Generate square or circular thumbnail image with Python – Pillow

Cropping the Image

Cropping is the process of selecting only a part of the image. The crop() method is used to crop a rectangular portion of any image.

Syntax: 

PIL.Image.crop(box = None)

Parameters:

box: a 4-tuple defining the left, upper, right, and lower pixel coordinate.

Example:

Python
# Importing Image class from PIL module from PIL import Image  # Opens a image in RGB mode im = Image.open(r"geek.jpg")  # Size of the image in pixels  # (size of original image) # (This is not mandatory) width, height = im.size  # Setting the points for cropped image left = 5 top = height / 4 right = 164 bottom = 3 * height / 4  # Cropped image of above dimension # (It will not change original image) im1 = im.crop((left, top, right, bottom))  # Shows the image in image viewer im1.show() 

Output:

crop image python pil

Refer to the below articles to get detailed information about Cropping images.

  • Crop image using pillow
  • Cropping an Image in a circular way

Blurring the Image

If a blurred image is observed carefully then a common thing to notice is that image is smooth meaning edges are not observed. A filter used for blurring is also called a low pass filter because it allows the low frequency to enter and stop high frequency. The ImageFilter class in the pillow library provides various filters that can be applied using the filter() method. Let’s see some of the blurring filters provided by the pillow.

Simple Blur

This method blurs the image using the kernel matrix or through the convolution matrix. It can be applied using the BLUR parameter.

Syntax:

filter(ImageFilter.BLUR)

Note: For more information refer, What is Image Blurring

Example:

Python
# Importing Image class from PIL module from PIL import Image, ImageFilter  # Opens a image in RGB mode im = Image.open(r"geek.jpg")  # Blurring the image im1 = im.filter(ImageFilter.BLUR)  # Shows the image in image viewer im1.show() 

Output:

Gaussian Blur

The Gaussian filter is implemented as an Odd sized Symmetric Kernel (DIP version of a Matrix) which is passed through each pixel of the Region of Interest to get the desired effect. The kernel is not hard towards drastic color changed (edges) due to the pixels towards the center of the kernel having more weightage towards the final value than the periphery. A Gaussian filter could be considered as an approximation of the Gaussian Function (mathematics). The Pillow module provides the predefined gaussianblur kernel that does the underlying maths for us.

Syntax:

ImageFilter.GaussianBlur(radius=2)

Example:

Python
# Importing Image class from PIL module from PIL import Image, ImageFilter  # Opens a image in RGB mode im = Image.open(r"geek.jpg")  # Blurring the image im1 = im.filter(ImageFilter.GaussianBlur(4))  # Shows the image in image viewer im1.show() 

Output:

gaussain blur python pillow

Box blur 

Box blur is also known as box linear filter. Box blurs are frequently used to approximate Gaussian blur. A box blur is generally implemented as an image effect that affects the whole screen. The blurred color of the current pixel is the average of the current pixel’s color and its 8 neighboring pixels. Pillow provides the BoxBlur() method to do the same.

Syntax:

ImageFilter.BoxBlur(radius)

Example:

Python
# Importing Image class from PIL module from PIL import Image, ImageFilter  # Opens a image in RGB mode im = Image.open(r"geek.jpg")  # Blurring the image im1 = im.filter(ImageFilter.BoxBlur(4))  # Shows the image in image viewer im1.show() 

 
 

Output:


 

python pillow box blur


 

Refer to the below articles to get detailed information about blurring images.


 

  • Python PIL | GaussianBlur() method
  • Apply a Gauss filter to an image with Python
  • Python PIL | BoxBlur() method

Drawing on Images

Pillow provides the ImageDraw module that provides simple 2D graphics for Image objects. You can use this module to create new images, annotate or retouch existing images, and generate graphics on the fly for web use. Let’s see various figures or texts that we can draw on the image.

Adding Text

Adding text to an image can sometimes be very necessary as it can be used to provide some useful information to the image or can also be used to add a digital signature to the image. With pillow, we can easily add a text to any image. Let’s see the below example.

Python
# import all the libraries from PIL import Image from PIL import ImageFont from PIL import ImageDraw  # image opening image = Image.open("image.jpg")  # creating a copy of original image watermark_image = image.copy()  # Image is converted into editable form using # Draw function and assigned to draw draw = ImageDraw.Draw(watermark_image)  # ("font type",font size) font = ImageFont.truetype("DroidSans.ttf", 50)  # Decide the text location, color and font  # (255,255,255)-White color text draw.text((0, 0), "GeeksforGeeks", (255, 255, 255), font=font)  watermark_image.show() 

 

Output:

add text to image python pillow

  • Make the image editable using ImageDraw.
  • Use ImageFont to specify font and font size. This step is optional. It is for those who want their text to look cool or stylish because someone won’t select any font style then the system takes the default font style.
  • Create a Font using ImageFont module function truetype() as it needs two parameters that are (“font type”, size)
  • Then used text() function of draw object and pass the four-parameters (Point of starting for text, “sample text”, Color, ImageFont object).

Refer to the below articles to get detailed information about adding texts to the image.

  • Python Pillow – Writing Text on Image
  • Python PIL | ImageDraw.Draw.text()
  • Adding Text on Image using Python – PIL

Adding Multiline Texts

ImageDraw.Draw.multiline_text() is used to draws the string at the given position.

Syntax:

ImageDraw.Draw.multiline_text(xy, text, fill=None, font=None, anchor=None, spacing=0, align=”left”)

Example:

Python
# Importing Image and ImageFont, ImageDraw  # module from PIL package from PIL import Image, ImageFont, ImageDraw  # creating a image object image = Image.open(r'geek.jpg')  draw = ImageDraw.Draw(image)  # specified font size font = ImageFont.truetype(r'DroidSans.ttf', 15)  text = u"""\ Geeks FOR \n Geeks"""  # drawing text size draw.text((6, 8), text, fill ="red", font = font, align ="right")  image.show() 

Output:

multiline text python pillow

Drawing Line

ImageDraw.Draw.line() is used to draws a line between the coordinates in the xy list.

Syntax: 

ImageDraw.Draw.line(xy, fill=None, width=0)

Example:

Python
# importing image object from PIL import math from PIL import Image, ImageDraw  w, h = 220, 190 shape = [(40, 40), (w - 10, h - 10)]  # creating new Image object img = Image.new("RGB", (w, h))  # create line image img1 = ImageDraw.Draw(img) img1.line(shape, fill="none", width=0) img.show() 

Output:

draw line python pillow

Drawing Rectangle

ImageDraw.Draw.rectangle() is used to draw a rectangle.

Syntax: 

ImageDraw.Draw.rectangle(xy, fill=None, outline=None)

Example:

Python
# importing image object from PIL import math from PIL import Image, ImageDraw  w, h = 220, 190 shape = [(40, 40), (w - 10, h - 10)]  # creating new Image object img = Image.new("RGB", (w, h))  # create rectangle image img1 = ImageDraw.Draw(img) img1.rectangle(shape, fill="# ffff33", outline="red") img.show() 

Output:
 

draw rectangle python pillow

Drawing Polygon

ImageDraw.Draw.polygon() is used to draw a polygon. The polygon outline consists of straight lines between the given coordinates, plus a straight line between the last and the first coordinate.

Syntax:

ImageDraw.Draw.polygon(xy, fill=None, outline=None)

Example:

Python
import math from PIL import Image, ImageDraw from PIL import ImagePath  side = 8 xy = [     ((math.cos(th) + 1) * 90,      (math.sin(th) + 1) * 60)     for th in [i * (2 * math.pi) / side for i in range(side)] ]  image = ImagePath.Path(xy).getbbox() size = list(map(int, map(math.ceil, image[2:])))  img = Image.new("RGB", size, "# f9f9f9") img1 = ImageDraw.Draw(img) img1.polygon(xy, fill="# eeeeff", outline="blue") img.show() 

Output:

draw  polygon python pillow

Enhancing Image

Python Pillow provides the ImageEnhance module to adjust the color, brightness, contrast, and sharpness of the image.

Adjusting Color and Contrast

ImageEnhance.Color() and ImageEnhance.Contrast() methods are used to adjust the color and contrast of the image respectively.

  • ImageEnhance.Color() is used to adjust the color balance of an image, in a manner similar to the controls on a color TV set. An enhancement factor of 0.0 gives a black and white image. A factor of 1.0 gives the original image.

Syntax:

ImageEnhance.Color(image)

Example:

Python
# This will import Image and ImageEnhance modules from PIL import Image, ImageEnhance  # Opening Image im = Image.open(r"geek.jpg")  # Creating object of Color class im3 = ImageEnhance.Color(im)  # showing resultant image im3.enhance(5.0).show() 

Output:

enhance clor python pillow

  • ImageEnhance.Contrast() is used to control the contrast of an image, similar to the contrast control on a TV set. An enhancement factor of 0.0 gives a solid grey image. A factor of 1.0 gives the original image.

Syntax:

obj = ImageEnhance.Contrast(image)

obj.enhance(factor)

Example:

Python
# This will import Image and ImageEnhance modules from PIL import Image, ImageEnhance  # Opening Image im = Image.open(r"geek.jpg")  # Creating object of Contrast class im3 = ImageEnhance.Contrast(im)  # showing resultant image im3.enhance(5.0).show() 

Output:

enhance contrast python pillow


 

Refer to the below articles to get detailed information about enhancing color and contrast.

  • Python PIL | ImageEnhance.Color() and ImageEnhance.Contrast() method

Adjusting Brightness and Sharpness

ImageEnhance.Brightness() and ImageEnhance.Sharpness() methods are used to adjust the brightness and sharpness of the image.

  •  ImageEnhance.Brightness() is used to control the brightness of an image. An enhancement factor of 0.0 gives a black image. A factor of 1.0 gives the original image.

Syntax:

obj = ImageEnhance.Brightness(image)

obj.enhance(factor)

Example:

Python
# This will import Image and ImageEnhance modules from PIL import Image, ImageEnhance  # Opening Image im = Image.open(r"geek.jpg")  # Creating object of Brightness class im3 = ImageEnhance.Brightness(im)  # showing resultant image im3.enhance(1.5).show() 

 

Output:

adjuts brightness python pillow

  • ImageEnhance.Sharpness() is used to adjust the sharpness of an image. An enhancement factor of 0.0 gives a blurred image, a factor of 1.0 gives the original image, and a factor of 2.0 gives a sharpened image.

Syntax:

obj = ImageEnhance.Sharpness(image)

obj.enhance(factor)

Example:

Python
# This will import Image and ImageChops modules from PIL import Image, ImageEnhance  # Opening Image im = Image.open(r"geek.jpg")  # Creating object of Sharpness class im3 = ImageEnhance.Sharpness(im)  # showing resultant image im3.enhance(5.0).show() 

Output:

enhance sharpness python pillow

Refer to the below articles to get detailed information about enhancing the brightness and sharpness of the image.

  • Python PIL | ImageEnhance.Brightness() and ImageEnhance.Sharpness() method

Convert images between various Formats

  • Convert the .GIF to .BMP and it’s vice-versa in Python
  • Convert an image into jpg format using Pillow in Python
  • Convert PNG to JPG using Python
  • Convert files from jpg to png and vice versa using Python
  • Convert the .PNG to .GIF and it’s vice-versa in Python
  • Convert files from jpg to gif and vice versa using Python
  • Convert OpenCV image to PIL image in Python

Advance Operations on Image using Pillow

  • Create transparent png image with Python – Pillow
  • Add padding to the image with Python – Pillow
  • Find most used colors in image using Python
  • Python – Color Inversion using Pillow
  • Overlay an image on another image in Python
  • Change image resolution using Pillow in Python
  • Spot the difference between two images using Python
  • How to Extract Text from Images with Python?
  • Create and save animated GIF with Python – Pillow
  • How to compress images using Python and PIL?
  • Python | Using PIL ImageGrab and PyTesseract
  • Floodfill Image using Python-Pillow
  • Python – Channel Drop using Pillow

Python Pillow Exercises and Applications

  • Loading Images in Tkinter using PIL
  • Create Certificates using Python-PIL
  • Python | OCR on All the Images present in a Folder Simultaneously
  • Apply changes to all the images in given folder – Using Python PIL


Next Article
Python: Pillow (a fork of PIL)
author
abhishek1
Improve
Article Tags :
  • Python
  • Python-pil
Practice Tags :
  • python

Similar Reads

  • Python Pillow Tutorial
    sinceDigital Image processing means processing the image digitally with the help of a computer. Using image processing we can perform operations like enhancing the image, blurring the image, extracting text from images, and many more operations. There are various ways to process images digitally. He
    15+ min read
  • Introduction to Pillow

    • Python: Pillow (a fork of PIL)
      Python Imaging Library (expansion of PIL) is the de facto image processing package for Python language. It incorporates lightweight image processing tools that aids in editing, creating and saving images. Support for Python Imaging Library got discontinued in 2011, but a project named pillow forked
      4 min read

    Installation and setup

    • How to Install Pillow on MacOS?
      In this article, we will learn how to install Pillow in Python on MacOS. Python Imaging Library (expansion of PIL) is the de facto image processing package for Python language. Installation:Method 1: Using pip to install Pillow Follow the below steps to install the Pillow package on macOS using pip:
      2 min read

    • How to Install PIL on Windows?
      In this article, we will look into the various methods of installing the PIL package on a Windows machine. Prerequisite:Python PIP or Ananconda (Depending upon your preference)For PIP Users: Open up the command prompt and use the below command to install the PIL package: pip install Pillow The follo
      1 min read

    • How to Install PIL on Linux?
      PIL is an acronym for Python Image Library. It is also called Pillow. It is one of the most famous libraries for manipulating images using the python programming language. It is a free and open-source Python library. Installing PIL on Linux:Method 1: Using PIP command: Step 1: Open up the Linux term
      1 min read

    Loading and Saving Images

    • Python PIL | Image.save() method
      PIL is the Python Imaging Library which provides the python interpreter with image editing capabilities. The Image module provides a class with the same name which is used to represent a PIL image. The module also provides a number of factory functions, including functions to load images from files,
      3 min read

    • Python PIL | Image.show() method
      PIL is the Python Imaging Library which provides the python interpreter with image editing capabilities. The Image module provides a class with the same name which is used to represent a PIL image. The module also provides a number of factory functions, including functions to load images from files,
      1 min read

    • Finding Difference between Images using PIL
      Python interpreter in itself doesn't contain the ability to process images and making out a conclusion to it. So, PIL(Python Imaging Library) adds image processing powers to the interpreter. PIL is an open-source library that provides python with external file support and efficiency to process image
      2 min read

    Image Manipulation Basics

    • Python Pillow - Working with Images
      In this article, we will see how to work with images using Pillow in Python. We will discuss basic operations like creating, saving, rotating images. So let's get started discussing in detail but first, let's see how to install pillow. Installation To install this package type the below command in t
      4 min read

    • Python PIL | Image.resize() method
      PIL is the Python Imaging Library which provides the python interpreter with image editing capabilities. The Image module provides a class with the same name which is used to represent a PIL image. The module also provides a number of factory functions, including functions to load images from files,
      4 min read

    • Python Pillow - Flip and Rotate Images
      Prerequisites: Pillow Python Pillow or PIL is the Python library that provides image editing and manipulating features. The Image Module in it provides a number of functions to flip and rotate images. image.transpose() is the function used to rotate and flip images with necessary keywords as paramet
      2 min read

    • Python PIL | paste() and rotate() method
      PIL is the Python Imaging Library which provides the python interpreter with image editing capabilities. PIL.Image.Image.paste() method is used to paste an image on another image. This is where the new() method comes in handy. Syntax: PIL.Image.Image.paste(image_1, image_2, box=None, mask=None) OR i
      2 min read

    Adjusting Image Properties

    • Change image resolution using Pillow in Python
      Prerequisites: Python pillow PIL is the Python Imaging Library which provides the python interpreter with an in-depth file format support, an efficient internal representation, and fairly powerful image processing capabilities. Changing the resolution of an image simply means reducing or increasing
      2 min read

    • Image Enhancement in PIL
      The Python Imaging Library(PIL) adds powerful image processing capabilities. It provides immense file format support, an efficient representation, and fairly powerful image processing capabilities. The core image library is intended for fast access to data stored in very few basic pixel formats. It
      4 min read

    Image Filtering and Effects

    • Python Pillow - Blur an Image
      Blurring an image is a process of reducing the level of noise in the image, and it is one of the important aspects of image processing. In this article, we will learn to blur an image using a pillow library. To blur an image we make use of some methods of ImageFilter class of this library on image o
      2 min read

    • How to merge images with same size using the Python 3 module pillow?
      In this article, the task is to merge image with size using the module pillow in python 3.  Python 3 module pillow : This is the update of Python Imaging Library. It is a free and open-source additional library for the Python programming language that adds support for opening, manipulating, and savi
      2 min read

    Drawing on Images

    • Adding Text on Image using Python - PIL
      In Python to open an image, image editing, saving that image in different formats one additional library called Python Imaging Library (PIL). Using this PIL we can do so many operations on images like create a new Image, edit an existing image, rotate an image, etc. For adding text we have to follow
      2 min read

    • Python Pillow - ImageDraw Module
      Python's Pillow which is a fork of the discontinued Python Imaging Library (PIL) is a powerful library that is capable of adding image processing capabilities to your python code. Pillow offers many modules that ease the process of working and modifying images. In this article, we will have a look a
      5 min read

    • Python Pillow - Colors on an Image
      In this article, we will learn Colors on an Image using the Pillow module in Python. Let's discuss some concepts: A crucial class within the Python Imaging Library is the Image class. It's defined within the Image module and provides a PIL image on which manipulation operations are often administere
      4 min read

    Image Transformations

    • How to rotate an image using Python?
      In this article, let's see how to rotate an Image using Python. By Image Rotation, the image is rotated about its center by a specified number of degrees. The rotation of an image is a geometric transformation. It can be done either by Forward Transformation (or) Inverse Transformation. Here Image P
      2 min read

    • Python PIL | Image.transform() method
      PIL is the Python Imaging Library which provides the python interpreter with image editing capabilities. The Image module provides a class with the same name which is used to represent a PIL image. The module also provides a number of factory functions, including functions to load images from files,
      1 min read

    Working with Image Metadata

    • How to extract image metadata in Python?
      Prerequisites: PIL Metadata stands for data about data. In case of images, metadata means details about the image and its production. Some metadata is generated automatically by the capturing device.  Some details contained by image metadata is as follows: HeightWidthDate and TimeModel etc. Python h
      2 min read

    • Python | Working with the Image Data Type in pillow
      In this article, we will look into some attributes of an Image object that will give information about the image and the file it was loaded from. For this, we will need to import image module from pillow. Image we will be working on : size() method - It helps to get the dimensions of an image. IMG =
      2 min read

geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences