Python PIL | Image.frombytes() 方法
PIL 是Python Imaging Library,它为Python解释器提供了图像编辑功能。 Image
模块提供了一个同名的类,用于表示 PIL 图像。该模块还提供了许多工厂函数,包括从文件加载图像和创建新图像的函数。
PIL.Image.frombytes()
从缓冲区中的像素数据创建图像内存的副本。在其最简单的形式中,此函数采用三个参数(模式、大小和未打包的像素数据)。
Syntax: PIL.Image.frombytes(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.
Returns: An Image object.
# importing image object from PIL
from PIL import Image
# using tobytes data as raw for frombyte function
tobytes = b'xd8\xe1\xb7\xeb\xa8\xe5 \xd2\xb7\xe1'
img = Image.frombytes("L", (3, 2), tobytes)
# creating list
img1 = list(img.getdata())
print(img1)
输出:
[120, 100, 56, 225, 183, 235]
另一个例子:这里我们使用不同的原始字节数。
# importing image object from PIL
from PIL import Image
# using tobytes data as raw for frombyte function
tobytes = b'\xbf\x8cd\xba\x7f\xe0\xf0\xb8t\xfe'
img = Image.frombytes("L", (3, 2), tobytes)
# creating list
img1 = list(img.getdata())
print(img1)
输出:
[191, 140, 100, 186, 127, 224]