Как создать PBM с комбинацией 0 и 1, используя 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, в формате PBM? Так же есть 16 столбцов и 5 строк. Я искал несколько методов, которые могут преобразовать изображение в двоичное, но не смог найти способ генерирования двоичного изображения с использованием этой матрицы.

а также

Какой объем памяти будет использоваться для представления 0 или 1 в памяти в двоичном изображении? Давайте предположим, что двоичное изображение имеет только 1 пиксель. Сколько памяти будет использовано для представления этого пикселя на изображении? Как и в случае изображения в градациях серого, для одного пикселя потребуется 8 байтов. В случае двоичного изображения, где требуется только 0 или 1, требуется ли 2 бита, два представляют один пиксель?

Благодарю.

1 ответ

Вы можете использовать библиотеку подушек, чтобы создать 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")
Другие вопросы по тегам