用Python将图像转换为Bytearray
我想将图像文件转换为Bytearray。我用minecart库从pdf文件中提取图像,但我找不到将其转换为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 =
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
参考文献: