python从二维数组制作位图数据

标签 python arrays numpy bitmap bmp

我有一个接受位图二进制数据的设备。我想将 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)

关于python从二维数组制作位图数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51907888/

相关文章:

python - 如何正确模仿这种加密方法来为 encryptedPwd 字段生成正确的值?

java - 包含大量空条目的大型数组

java - 无法创建我自己的自定义异常(exception)。请帮我

python - 如何在 Python 中将数组列表导出到 csv?

python - 升级numpy版本

python - 使用 dict.get() 的斐波那契数列和 RecursionError

python - 如何检查字符串中是否只有定义的符号?

python - 正则表达式提取可选组内的组

JavaScript:如何对包含 NaN 的数组进行排序

python - Numpy:将大型数组与 dtype=int8 相乘很慢