我正在使用 xlsxwriter 在 python 代码中将图像插入到 Excel 中。
现在,我在 opencv 处理之后有了图像数据(numpy 数组)。我想将此图像数据插入到 Excel 中。但 xlswriter 仅支持 io.BytesIO 流。
问题:我不知道如何将 numpy 数组转换为io.BytesIO https://docs.python.org/2/library/io.html#io.BytesIO具有 jpg 格式。
我尝试过 numpy.tostring 但没有 jpg 格式。
下面的代码运行良好:
_f = open('test.jpg') # I would like to insert test.jpg
worksheet.insert_image('E2', 'abc.jpg', {'image_data': _f.read()})
有人可以帮助我吗?太感谢了。
将 numpy 数组转换为 PIL Image 结构,然后使用 BytesIO 存储编码后的图像。
img_crop_pil = Image.fromarray(numpy_image)
byte_io = BytesIO()
img_crop_pil.save(byte_io, format="JPG")
jpg_buffer = byte_io.getvalue()
byte_io.close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)