首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将100个二进制图像保存到一个文件中?

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

Stack Overflow用户
提问于 2016-08-02 01:45:37
回答 1查看 239关注 0票数 1

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

如果没有库,我打算读取所有100个二进制图像,然后将它们保存到python中的一个数组中,然后将该数组保存到一个像100_images.format这样的文件中。

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

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

代码语言:javascript
复制
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个二进制图像的代码中,我希望它的工作原理如下:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2016-08-02 17:00:50

我会做运行长度编码:https://en.wikipedia.org/wiki/Run-length_encoding

您可以使用python的一个实现:https://www.rosettacode.org/wiki/Run-length_encoding#Python

编码:

对于每个图像矩阵,

  1. 使用np.flatten
  2. Run length对其进行扁平编码图像
  3. 将代码添加到列表
  4. 所有图像编码后选取列表

< code >G211

解码:

  1. 为列表中的每一项取消选择列表
  2. 解码游程长度代码
  3. 将生成的向量重新整形为所需的矩阵形状
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38705061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档