python - python从二维数组制作位图数据
问题描述
我有一个接受位图二进制数据的设备。我想将一个 numpy 二维数组转换为位图并将其发送到该设备。目前我所做的是将二维数组保存到位图文件中,然后将其读入变量并将其发送到设备。我想跳过写入磁盘的步骤。有没有一种简单的方法可以在 Python 中做到这一点?
解决方案
您可以使用io.BytesIO作为内存缓冲区来存储位图并将其发送而不写入磁盘。
例如,假设您使用 PIL 或 Pillow 来保存您的位图文件:
import io
from PIL import Image
image = Image.fromarray(numpy_array)
if image.mode != 'RGB':
image = image.convert('RGB')
with io.BytesIO() as f:
image.save(f, format='BMP')
send_to_device(f)
推荐阅读
- asp.net - asp.net web api 2 控制器的模型映射
- angular - 为什么多个 ng-select 选项不起作用?
- javascript - 信息仪表板用户消失了(php 和我的 sql)
- python - 在列字段中查找相同的标签 PostgreSQL
- postgresql - flyway的多个配置文件
- html - 启用和禁用一个组件/HTML 中的所有元素
- c# - 无法在 Visual Studio 2019 中的 ASP.NET MVC 和实体框架上自动创建类
- sql - Postgres 在跳过缺失值的同时有效地检查 JSONB 包含
- sparql - SPARQL:找到具有相同三元组的主题?
- c - 当数字的任何位等于0时如何打印1?