现在,我在opencv进程之后有了图像数据(numpy数组)。我想将此图像数据插入excel。但是xlswriter只支持io.BytesIO流。
问题:我不知道如何使用jpg格式将numpy数组转换为io.BytesIO。
我尝试了numpy.tostring但没有jpg格式。
代码在下面运行良好:
_f = open('test.jpg') # I would like to insert test.jpg
worksheet.insert_image('E2', 'abc.jpg', {'image_data': _f.read()})
任何人都可以帮助我吗?非常感谢你。
答案 0 :(得分:3)
最后,我找到了解决方案。
我们可以使用Scanner scan = new Scanner(System.in);
int j = scan.nextInt();
double e = scan.nextDouble();
scan.nextLine();
String str = scan.nextLine();
函数将numpy数组转换为jpg格式。
让我们关闭这个问题。
答案 1 :(得分:2)
将numpy数组转换为PIL Image结构,然后使用BytesIO存储编码的图像。
img_crop_pil = Image.fromarray(numpy_image)
byte_io = BytesIO()
img_crop_pil.save(byte_io, format="JPG")
png_buffer = byte_io.getvalue()
byte_io.close()