在 Python 中,字符串:
a = '00001111\n00110011\n00110101\n.....'
我如何将其转换为 8x8 像素的图像,其中 0 代表黑色,1 代表白色。是学习例如 BMP 并从中制作 BMP 文件的途径。还是有更顺畅的启蒙之路?
第一步是将您的字符串转换为包含正确值的字节序列:
pixel_value = {'0': 0, '1': 255}
byte_seq = ''.join(chr(pixel_value[c]) for c in a if c in pixel_value)
然后使用PILImage.fromstring
将其转换为图像:
from PIL import Image
im = Image.fromstring('L', (8, 8), byte_seq)
im.show()