The Wayback Machine - https://web.archive.org/web/20240922215253/https://www.geeksforgeeks.org/python-pillow-tutorial/
Open In App

Python Pillow Tutorial

Last Updated : 16 Jun, 2024
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Save
Share
Report
News Follow

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.

Image

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:

Image

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.

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

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.

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.

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.

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:

ImageImageImageImage


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.

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:

Image

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

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.

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:

Image

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.


 

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.

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.

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.

Convert images between various Formats

Advance Operations on Image using Pillow

Python Pillow Exercises and Applications



Similar Reads

Python | Crop image using pillow
In this article, we will learn to crop an image using pillow library. Cropping an image means to select a rectangular region inside an image and removing everything outside the rectangle. To crop an image we make use of crop() method on image objects. Syntax : IMG.crop(box_tuple) Parameters : Image_path- Location of the image IMG- Image to crop box
1 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 = Image.open(Image_path) croppedIm = IMG.size # imp
2 min read
Python - Color Inversion using Pillow
Color Inversion (Image Negative) is the method of inverting pixel values of an image. Image inversion does not depend on the color mode of the image, i.e. inversion works on channel level. When inversion is used on a multi color image (RGB, CMYK etc) then each channel is treated separately, and the final result if formed by calibrating the results
4 min read
Python - Edge Detection using Pillow
Edge Detection, is an Image Processing discipline that incorporates mathematics methods to find edges in a Digital Image. Edge Detection internally works by running a filter/Kernel over a Digital Image, which detects discontinuities in Image regions like stark changes in brightness/Intensity value of pixels. There are two forms of edge detection: S
5 min read
Python - Channel Drop using Pillow
A channel drop is a method of removing one of the channels of a multichannel image. By removing means turning the color value of a particular channel to 0 (all pixels), i.e. that particular channel doesn't have any effect on the final image (assuming colors are blended `normally`). Color theory (Color Wheel) is followed when dropping color channels
5 min read
Floodfill Image using Python-Pillow
Seed Fill also known as flood fill, is an algorithm used to identify connected paths in a definite enclosed region. The algorithm has an array of practical applications, such as - Optimized pathfindingPaint Bucket Tool a generic tool found in several image processing packages, uses the algorithm internallyMazesolving uses floodfill (paired with tra
3 min read
Convert an image into jpg format using Pillow in Python
Let us see how to convert an image into jpg format in Python. The size of png is larger when compared to jpg format. We also know that some applications might ask for images of smaller sizes. Hence conversion from png(larger ) to jpg(smaller) is needed. For this task we will be using the Image.convert() method of the Pillow module. Algorithm : Impo
2 min read
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 the number of pixels in an image, without changing
2 min read
How to add text on an image using pillow in Python ?
Prerequisites: PIL In this article we'll see how we can add text on an image using the pillow library in Python. Python Imaging Library (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. Pillow supports numerous image file formats i
2 min read
Change the ratio between width and height of an image using Python - Pillow
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 pillowTo change the
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 saving many various image file formats. To merge images
2 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 administered. An instance of this class is often created in s
4 min read
Python Pillow - Writing Text on Image
In this article, we will see how to write text on images with the Python Pillow module. Installation This module is not preloaded with Python. So to install it execute the following command in the command-line: pip install pillow Stepwise implementation: Step 1: Import Pillow library To complete this task the functions required from the Pillow libr
6 min read
Create and save animated GIF with Python - Pillow
Prerequisites: pillow In this article, we are going to use a pillow library to create and save gifs. GIFs: The Graphics Interchange Format(gif) is a bitmap image format that was developed by a team at the online services provider CompuServe led by American computer scientist Steve Wilhite on 15 June 1987. A GIF file normally stores a single image,
3 min read
Create transparent png image with Python - Pillow
To create a transparent png using Python3, the Pillow library is used. The Pillow library comes with python itself. If python is unable to find Pillow library then open the command prompt and run this command:- pip install Pillow Note: If you got any problem installing Pillow using pip, then install and setup pip first. For this check this article.
3 min read
Add padding to the image with Python - Pillow
Prerequisites: Pillow(python library) Padding is the space between the contents, the container, and the border. An image can be considered content to some container and extra padding can be added to it. This article depicts how this can be done. Padding can be added by straightaway supplying the values for the side to be padded. These values can th
2 min read
Generate square or circular thumbnail image with Python - Pillow
Prerequisites: Pillow, Numpy In the word "THUMBNAIL" the word THUMB means short. A thumbnail is the compressed preview image of the original image or a Thumbnail is the smaller version of an image. In simple words, the thumbnail is the smaller image that represents the larger/original image. Usually, the shape of the thumbnail is dependent on the o
6 min read
Python Pillow - Creating a Watermark
In this article, we will see how the creation of a watermark is done using the Pillow library in Python. Pillow is a Python Image Library(PIL) that is used for manipulating images and working on the different formats of images like ('jpeg', 'png', 'gif', 'tiff' etc.). There are various image processing you can do using pillow library like resizing,
5 min read
Python Pillow - Image Sequences
The ImageSequence module in the pillow contains a wrapper class that helps users to iterate over the frames of an image sequence. It can iterate over animations, gifs, etc. Iterator class This class accepts an image object as a parameter. It implements an iterator object that can be used by a user to iterate over an image sequence. [ ] operator can
3 min read
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 objects. Note: The image used to blur in all differ
2 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 parameters. Syntax: image.transpose(appropriate keyword)
2 min read
How to Concatenate image using Pillow in Python ?
Prerequisites: Python Pillow Concatenate image means joining of two images. We can merge any image whether it has different pixels, different image formats namely, 'jpeg', 'png', 'gif', 'tiff', etc. In python, we can join two images using the Python image library also known as the pillow library. In this article, we will see how the concatenation o
3 min read
Python Pillow - Using Image Module
In this article, we will see how to work with Image Module of PIL in Python. First, let's see how to install the PIL. Installation: Linux: On the Linux terminal type the following: pip install Pillow Installing pip via terminal: sudo apt-get update sudo apt-get install python-pipWorking with Image Module Here, we will go through some methods and pr
5 min read
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 the terminal. pip install pillowCreating new image
4 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 at the ImageDraw module of this library. ImageDraw
5 min read
Convert PNG to ICO with Pillow in Python
In this article, we will convert PNG to ICO using pillow in Python. Convert PNG to ICO with Pillow in Python Before moving further first let us understand what is PNG and ICO. The PNG stands for Portable Network Graphic. It is often used to store web graphics. The png image can be used with transparent background. Whereas, the ICO file format is an
2 min read
Expanding the Canvas Without Resizing in Python Pillow
The Python Imaging Library (PIL) is a powerful tool for image processing in Python, offering a wide range of functionalities from basic image manipulations to complex operations. One of the useful features of PIL is the ability to expand the canvas of an image without resizing the original content. This article explores the concept of expanding the
4 min read
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 the original PIL project and added Python3.x suppo
4 min read
Important differences between Python 2.x and Python 3.x with examples
In this article, we will see some important differences between Python 2.x and Python 3.x with the help of some examples. Differences between Python 2.x and Python 3.x Here, we will see the differences in the following libraries and modules: Division operatorprint functionUnicodexrangeError Handling_future_ modulePython Division operatorIf we are p
5 min read
Reading Python File-Like Objects from C | Python
Writing C extension code that consumes data from any Python file-like object (e.g., normal files, StringIO objects, etc.). read() method has to be repeatedly invoke to consume data on a file-like object and take steps to properly decode the resulting data. Given below is a C extension function that merely consumes all of the data on a file-like obj
3 min read
Article Tags :
Practice Tags :