用Python将图像转换为Bytearray

用Python将图像转换为Bytearray,python,image,pdf,Python,Image,Pdf,我想将图像文件转换为Bytearray。我用minecart库从pdf文件中提取图像,但我找不到将其转换为bytearray的方法。这是我的代码: import minecart from PIL import Image import io pdffile = open('sample6.pdf', 'rb') doc = minecart.Document(pdffile) for page in doc.iter_pages(): print(page) img =

我想将图像文件转换为Bytearray。我用minecart库从pdf文件中提取图像,但我找不到将其转换为bytearray的方法。这是我的代码:

import minecart
from PIL import Image
import io

pdffile = open('sample6.pdf', 'rb')
doc = minecart.Document(pdffile)


for page in doc.iter_pages():
    print(page)
    img = page.images[0].as_pil()

    print(img) # <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=1641x2320 at 0x7FBDF02E6A00>

    print(type(img)) # <class 'PIL.JpegImagePlugin.JpegImageFile'>
导入矿车
从PIL导入图像
输入io
pdffile=open('sample6.pdf','rb')
doc=minecart.Document(pdffile)
对于doc.iter_pages()中的页面:
打印(第页)
img=page.images[0]。as_pil()
打印(img)#
打印(类型(img))#
我曾尝试使用
bytearray(img)
,但不起作用。
您是否有此解决方案(不消耗太多时间的解决方案)?

创建
io.BytesIO
缓冲区,并使用
PIL.Image.save
对其进行写入。根据要求设置合适的质量和其他参数

import io
from PIL import Image

def convert_pil_image_to_byte_array(img):
    img_byte_array = io.BytesIO()
    img.save(img_byte_array, format='JPEG', subsampling=0, quality=100)
    img_byte_array = img_byte_array.getvalue()
    return img_byte_array
参考文献: