matplotlib.pyplot画图 图片的二进制流的获取方法
作者:daxiaofan 时间:2021-03-25 09:38:00
有些时候,我们需要画图后的二进制数据流,matplotlib没有提供相关的api,通过源码查看与百度,得到下面此方法
import matplotlib.pyplot as plt
import numpy as np
import io
x=np.arange(10)
y=x
#plt.plot(x,y)
#canvas = plt.get_current_fig_manager().canvas
#canvas.draw()
fig=plt.figure()
plt.plot(x,y)
canvas=fig.canvas
#上面这段代码和上面注释掉的代码效果一样
#方法1
buffer = io.BytesIO()
canvas.print_png(buffer)
data=buffer.getvalue()
buffer.close()
#方法2
buf, size = canvas.print_to_buffer()
image = Image.frombuffer('RGBA', size, buf, 'raw', 'RGBA', 0, 1)
buffer=io.BytesIO()
image.save(buffer,'PNG')
data=buffer.getvalue()
buffer.close()
with open('hhh.png',mode='wb') as f:
f.write(data)
#f=open('hh.png',mode='wb')
#f.write(data)
#f.close()
如果我们想把二进制的图片转成数组也是可以的,
buffer=io.BytesIO()
buffer.write(data)
img=Image.open(buffer)
img = np.asarray(img)
来源:https://blog.csdn.net/daxiaofan/article/details/73302718
标签:matplotlib,画图,二进制
0
投稿
猜你喜欢
aspjpeg组件asp代码实例使用详解
2008-12-14 10:33:00
大幅优化MySQL查询性能的奇技淫巧
2024-01-27 15:32:52
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2021-04-17 02:03:04
商业价值与用户价值的平衡
2008-12-10 18:42:00
IE中不可遍历的属性
2010-01-19 13:47:00
在IE下用getAttribute时要小心
2008-08-21 12:54:00
Python调用百度OCR实现图片文字识别的示例代码
2021-04-07 14:21:50
opencv实现矿石图片检测矿石数量
2021-08-26 02:17:39
Softmax函数原理及Python实现过程解析
2022-12-15 02:18:24
宽屏不是用来阅读的
2009-04-05 15:59:00
python实现自动解数独小程序
2023-03-28 12:15:19
python实现数独算法实例
2022-11-12 05:31:12
浅谈MySQL中四种常用存储引擎
2024-01-23 00:10:29
JS实现的倒计时效果实例(2则实例)
2023-08-23 17:12:05
pip和pygal的安装实例教程 <font color=red>原创</font>
2021-05-22 18:35:30
MySQL的表级锁,行级锁,排它锁和共享锁
2024-01-28 15:44:22
ASP.NET Core Authentication认证实现方法
2023-07-21 12:21:31
利用Python将list列表写入文件并读取的方法汇总
2023-12-07 13:40:07
Python常见报错解决方案总结(新手拯救指南)
2021-12-19 02:43:23
详解python播放音频的三种方法
2021-12-16 09:19:11