我正在尝试使用GDAL从单波段TIF图像创建一个数组:
示例
array= band4.ReadAsArray(0,0,xsize,ysize)
但结果只有零?你知道吗
array
[[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
...
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]]
有没有办法解决这个问题,或者有其他方法来创建数组?图像是无符号的16位。。。你知道吗
Tags:
正如注释中所述,调用
band.ReadAsArray()
时不需要传递任何参数。仅调用函数将返回整个频带的numpy数组。你知道吗功能结构如下:
band.ReadAsArray([xoff], [yoff], [win_xsize], [win_ysize], [buf_xsize], [buf_ysize], [buf_obj])
在哪里
xoff
是开始读取的列。默认值为0(第一列)。你知道吗yoff
是开始读取的行。默认值为0(第一行)。你知道吗win_xsize
是要读取的列数。默认值是全部读取。你知道吗win_ysize
是要读取的行数。默认值是全部读取。你知道吗buf_xsize
是输出数组中的列数。默认值是使用win_xsize
值。如果此值不同于win_xsize
,则将对数据重新采样。你知道吗buf_ysize
是输出数组中的行数。默认值是使用win_ysize
值。如果此值不同于win_ysize
,则将对数据重新采样。你知道吗buf_obj
是将数据放入的NumPy数组,而不是创建新数组。如果需要,数据将被重新采样,以适应此数组。值也将转换为此数组的数据类型。你知道吗我要确认的是,这个波段的值确实不同于0,这就是你要读的波段。在某些情况下,频带#4用作alpha通道,其值的范围为0到1。你知道吗
相关问题 更多 >
编程相关推荐