Open In App

Python PIL | Image.frombuffer() method

Last Updated : 07 Aug, 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 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, and to create new images. PIL.Image.frombuffer() Creates an image memory referencing pixel data in a byte buffer. Note that this function decodes pixel data only, not entire images. If you have an entire image file in a string, wrap it in a BytesIO object, and use open() to load it.
Syntax: PIL.Image.frombuffer(mode, size, data, decoder_name='raw', *args) Parameters: mode – The image mode. See: Modes size – The image size. data – A byte buffer containing raw data for the given mode. decoder_name – What decoder to use. args – Additional parameters for the given decoder. For the default encoder (“raw”), it’s recommended that you provide the full set of parameters:frombuffer(mode, size, data, "raw", mode, 0, 1) Returns: An Image object.
Image Used: Python3 1==
 

# importing image object from PIL
from PIL import Image

# creating an image object
im = Image.open(r"C:\Users\System-Pc\Desktop\rose.jpg")
im1 = im.tobytes("xbm", "rgb")
img = Image.frombuffer("L", (4, 4), im1, 'raw', "L", 0, 1)

# creating list 
img2 = list(img.getdata())
print(img2)
Output:
[48, 120, 102, 102, 44, 48, 120, 102, 102, 44, 48, 120, 102, 102, 44, 48]
Another Example: Here we use another image. Image Used: Python3 1==
 

# importing image object from PIL
from PIL import Image
 
# creating an image object
im = Image.open(r"C:\Users\System-Pc\Desktop\ellipse1.png")
im1 = im.tobytes("xbm", "rgb")
img = Image.frombuffer("L", (10, 10), im1, 'raw', "L", 0, 1)

# creating list 
img2 = list(img.getdata())
print(img2)
Output:
[48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 10, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56, 44, 48, 120, 56, 56]

Next Article
Article Tags :
Practice Tags :

Similar Reads