Python 如何将100个二进制图像保存到单个文件中?

Python 如何将100个二进制图像保存到单个文件中?,python,image-processing,binary,save,binary-data,Python,Image Processing,Binary,Save,Binary Data,因此,如果我有100个.bmp类型的二进制图像,我想知道是否有一个库可以用来将其保存到单个文件中,然后读入该文件并在python中迭代每个图像 如果没有库,我计划读取所有100个二进制图像,然后将它们保存到python中的数组中,然后将该数组保存到类似100\u images.format的文件中 我想知道我可以用什么格式保存文件,使其尽可能小?由于图像都是32×32像素的二进制图像,我如何才能有效地做到这一点 我想我可以将100张图像保存到一个数组中,如下所示: array index 0

因此,如果我有100个.bmp类型的二进制图像,我想知道是否有一个库可以用来将其保存到单个文件中,然后读入该文件并在python中迭代每个图像

如果没有库,我计划读取所有100个二进制图像,然后将它们保存到python中的数组中,然后将该数组保存到类似
100\u images.format
的文件中

我想知道我可以用什么格式保存文件,使其尽可能小?由于图像都是32×32像素的二进制图像,我如何才能有效地做到这一点

我想我可以将100张图像保存到一个数组中,如下所示:

array index
0             0 or 1 for if image 1 pixel at (0, 0) is white(0) or black(1)
1             0 or 1 for if image 1 pixel at (0, 1) is white(0) or black(1)
...
1023          0 or 1 for if image 1 pixel at (31, 31) is white(0) or black(1)
1024          0 or 1 for if image 2 pixel at (0, 0) is white(0) or black(1)
...
然后用python将其写入一个文件。但是我不知道我应该用什么类型的文件 成功。然后在读取100个二进制图像的代码中,我希望它的工作方式如下:

binary_images_manager = new BinaryImagesManager('100_images.format')

for i in range(number_of_images_to_see):
    int[][] binary_image = binary_images_manager.readImage(i)

我会进行运行长度编码:

您可以使用python的一种实现:

编码:

  • 对于每个图像矩阵,使用np.flatte将其展平
  • 运行长度编码图像
  • 将代码添加到列表中
  • 所有图像编码后,请在列表中进行pickle
  • 解码:

  • 解开名单
  • 对于列表中的每个项目,解码运行长度代码
  • 将结果向量重新整形为所需的矩阵形状

  • 我会进行运行长度编码:

    您可以使用python的一种实现:

    编码:

  • 对于每个图像矩阵,使用np.flatte将其展平
  • 运行长度编码图像
  • 将代码添加到列表中
  • 所有图像编码后,请在列表中进行pickle
  • 解码:

  • 解开名单
  • 对于列表中的每个项目,解码运行长度代码
  • 将结果向量重新整形为所需的矩阵形状

  • 使用python将这些文件压缩成zip/tar.gz文件可以解决您的问题吗?还是有特定的二进制格式要求?Windows
    ICO
    格式可以保存多个
    BMP
    文件,尽管我不确定为什么会有人这样做
    TIF
    还可以在一个文件中保存多个图像。使用python将这些文件压缩成zip/tar.gz文件可以解决您的问题吗,还是有特定的二进制格式要求?Windows
    ICO
    格式可以保存多个
    BMP
    文件,尽管我不确定为什么会有人这样做
    TIF
    还可以在一个文件中保存多个图像。