如何通过python读入16位或32位的图像并以数组的形式获得正确的图像值?在
我试着用PIL+Numpy和GDAL+Numpy等来读取SRTM(航天飞机雷达地形图任务),我只需要一小块,所以我用ArcGIS来获得我需要的tif文件的范围。在
但是,通过上面的测试,数组中的值是不正确的。
例如,我在CA中使用了一个SRTM,它的仰角范围是136到737,但是当我使用numpy来获取最大值和最小值时,数组值的范围是-3.40到737,并且出现了很多负值。
我能做什么?我会犯错吗?在
使用ipython时,我使用的代码如下:import Image
import numpy as num
im=Image.open('srtm.tif')
imarray=num.array(im)
imarray
array([[ -3.40282347e+38, -3.40282347e+38, 4.00000000e+02, ...,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ -3.40282347e+38, -3.40282347e+38, 4.00000000e+02, ...,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ -3.40282347e+38, -3.40282347e+38, 4.00000000e+02, ...,
0.00000000e+00,