python - Python 中的图像处理——无需将整个图像加载到内存中

标签 python image-processing memory-management numpy scipy

我正在寻找一个 python 库,它可以让我从 TIF 图像中检索图像数据,而无需将整个图像加载到内存中。

我曾尝试使用 numpy.memmap,但在文件中定位图像数据时遇到了困难。任何意见将是有益的。谢谢。

最佳答案

我有两个建议给你:

  1. 将图像数据分块读入 Python:

    with open('path/to/image-data.tif', 'rb') as tif:
        while True:
            chunk = tif.read(4096)
            if not chunk:
                break
    
  2. 考虑使用 NumExpr 进行处理:https://github.com/pydata/numexpr

... 在内部,NumExpr 采用了自己的矢量化虚拟机,该虚拟机是围绕分块读取策略设计的,以便有效地对内存中大小最佳的数据 block 进行操作。如果调整得当,它可以轻松击败简单的 NumPy 操作。

希望对你有帮助,祝你好运

关于python - Python 中的图像处理——无需将整个图像加载到内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22030819/

相关文章:

matlab - 尺度不变特征变换 (SIFT) 在 Matlab 中的实现

python - 使用Open CV删除背景并不精确,并且某些图片无法正确处理

python - 按行中非空元素的计数对 PySpark Dataframe 进行统一分区

python - 编写此 if 语句的更好方法?

python - 如何将 Pandas 中不同列中具有相同项目的行添加在一起

javascript - 使用 JavaScript 在 Canvas 中操作图像亮度

ios - 释放 Objective-C 中的对象

perl - Perl v5.10.1 是否有内存泄漏或如何解释 valgrind

memory-management - 我是否需要将 map 设置为 nil 才能对其进行垃圾回收?

python - 值错误 : zero length field name in format with read and write