当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PIL Image.frombuffer()用法及代码示例


PIL是Python Imaging Library,它为python解释器提供了图像编辑函数。的Image模块提供了一个具有相同名称的类,用于表示PIL图像。该模块还提供了许多出厂函数,包括从文件加载图像和创建新图像的函数。

PIL.Image.frombuffer()在字节缓冲区中创建引用像素数据的图像存储器。

请注意,此函数仅解码像素数据,而不解码整个图像。如果字符串中包含整个图像文件,则将其包装在BytesIO对象中,然后使用open()加载它。


用法: PIL.Image.frombuffer(mode, size, data, decoder_name=’raw’, *args) 

参数:
mode-图像模式。另请:模式
size-图像尺寸。
data-包含给定模式原始数据的字节缓冲区。
decoder_name-使用什么解码器。
args-给定解码器的其他参数。对于默认编码器(“raw”),建议您提供完整的参数集:frombuffer(mode, size, data, "raw", mode, 0, 1)

返回:Image对象。

使用的图片:

   
  
# 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)

输出:

[48, 120, 102, 102, 44, 48, 120, 102, 102, 44, 48, 120, 102, 102, 44, 48]

另一个示例:在这里,我们使用另一个图像。

使用的图片:

   
  
# 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)

输出:

[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]



相关用法


注:本文由纯净天空筛选整理自Sunitamamgai大神的英文原创作品 Python PIL | Image.frombuffer() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。