如何更高效地创建/保存2位图像



我想为电子墨水显示器供电,为此,我需要2位图像。我目前正在使用Pillow创建一个图像并保存它,但B&W/灰度图像:

from PIL import Image
im1 = Image.new('1', (600, 800), color=1)
# creates 1-bit image, background color options range from 0 to 1, black and white
im2 = Image.new('1', (600, 800), color=123)
# creates 8-bit image, background color options range from 0 to 255, grayscale

我可以创建/保存2位图像吗?或者,有没有办法在之后转换它们?

我知道这篇文章:将图像转换为索引的2位灰度BMP。我想知道是否有更有效的方法。

您有几个选项:

  • 存储两个1bpp图像,而不是一个,并在必要时进行合并/拆分;

  • 将四个2b像素打包/拆包为8b像素;

  • 使用支持原生2pp的图像格式(我猜TIFF和GIF确实支持,但不确定它们是否打包得当(;您可能需要集成原始库;

  • 如果你愿意自己编程,一个更紧凑的解决方案可以是4bpp数据的行程长度编码(除非图像有噪声或抖动,否则会有恒定值的长行程(,以及特殊的文件格式。

第一个选项的优点是可以使用标准工具可视化图像(但想象一下组合(。

最新更新