Как создать PBM с комбинацией 0 и 1, используя python - PullRequest
0 голосов
/ 08 декабря 2018
[[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 Ответ

0 голосов
/ 08 декабря 2018

Вы можете использовать библиотеку 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")
...