如何在python中读取一个大的tif文件?

ilc*_*avo 5 python tiff numpy python-imaging-library

我正在从http://oceancolor.gsfc.nasa.gov/DOCS/DistFromCoast/加载 tiff 文件

from PIL import Image
im = Image.open('GMT_intermediate_coast_distance_01d.tif')
Run Code Online (Sandbox Code Playgroud)

数据量大(im.size=(36000, 18000)1.3GB),常规转换无效;即,imarray.shape返回()

import numpy as np 
imarray=np.zeros(im.size)
imarray=np.array(im)
Run Code Online (Sandbox Code Playgroud)

如何将此 tiff 文件转换为numpy.array.

gtz*_*nos 4

可能您没有太多 RAM 用于此图像。您至少需要 1.3GB 以上的可用内存。

我不知道你正在对图像做什么,并且你将整个图像读入你的内存,但我建议你一点一点地阅读它,如果可能的话,以避免炸毁你的计算机。您可以使用Image.getdata()每次返回一个像素的方法。

另请阅读此链接上的更多内容 Image.open

http://www.pythonware.com/library/pil/handbook/