繁体   English   中英

在不超过 inode 或硬盘空间的情况下存储大量 jpeg 图像(Python)

[英]Storing lots of jpeg images without exceeding inode or harddisk space (Python)

我正在处理数百万个不同尺寸的小图像(~100x100)。

  1. 如果我将它们作为 jpg 存储在硬盘上,它们将超过我磁盘的 inode 限制。

  2. 如果我将它们存储为 HDF5 之类的二进制文件,即使我应用压缩,它们也会占用 >100GB(h5py 的 gzip 无损压缩没有 jpeg 压缩那么紧凑)。

是否有任何标准方法可以使用 jpeg 压缩将这些图像存储为单个文件,以便它既不会占用大量 inode 或硬盘空间? 我还想通过 python 轻松阅读这些图像。

Ext4 的每节点字节数

如果图像的大小大部分相同,您可以为每个 inode选择一个最佳字节 您需要的值小于默认值 16384 才能更好地匹配您的图像大小。

回路装置

如果无法重新格式化磁盘,您可以挂载一个“循环”设备:

dd if=/dev/zero of=./single-file bs=512 count=2M  # 1G
mkfs.ext4 -i 1024 ./single-file                   # 1K per inode

mkdir /mnt/small-images/
mount ./single-file /mnt/small-images

mv 01.jpg /mnt/small-images/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM