如何使用python生成0&1组合的PBM

2024-06-11 11:56:20 发布

您现在位置:Python中文网/ 问答频道 /正文

[[0,1,0,1,1,0,0,0,0,1,0,1,0,1,0,1]
[0,0,0,0,0,1,1,1,1,0,1,0,1,0,1,1]
[0,0,0,0,0,0,1,1,1,1,1,0,1,0,1,0]
[0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0]
[0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1]]

如何用about matrics在PBMformate中生成二值图像? 因为有16列5行。我搜索了一些方法,可以将图像转换成二值图像,但无法找到一种方法来生成一个二值图像使用这种矩阵。你知道吗

以及

在一个二进制图像中,有多少内存将用来表示内存中的0或1?假设一个二值图像只有一个像素。要用多少内存来表示图像上的一个像素?和灰度图像一样,一个像素需要8个字节。在二值图像的情况下,它只取0或1,2位2代表一个像素吗?你知道吗

谢谢。你知道吗


Tags: 方法内存图像字节二进制情况代表矩阵
1条回答
网友
1楼 · 发布于 2024-06-11 11:56:20

您可以使用Pillow库从上述数据创建pbm图像:

from PIL import Image

binaryData = [[0,1,0,1,1,0,0,0,0,1,0,1,0,1,0,1],
[0,0,0,0,0,1,1,1,1,0,1,0,1,0,1,1],
[0,0,0,0,0,0,1,1,1,1,1,0,1,0,1,0],
[0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0],
[0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1]]

pixelData = [255 if elem else 0 for row in binaryData for elem in row]

img = Image.new("L", (len(binaryData[0]), len(binaryData)))
img.putdata(pixelData)
img.save("image.pbm")

相关问题 更多 >