在PIL中打开GeoTIFF问题

时间:2016-10-18 14:49:32

标签: python image scipy tiff geotiff

每当我在python中打开正射影像的GeoTIFF图像(尝试过PIL,matplotlib,scipy,openCV)时,图像都会闪烁。有些角落正在裁剪,但图像保持其原始形状。如果我手动将tif转换为例如Photoshop中的png并加载它,它确实可以正常工作。因此,似乎PIL在处理tif文件时遇到一些问题,这些文件的对象不能填满整个画布。有没有人有这个问题的解决方案?

原始图片的一部分:

Part of original Image

打开后:

After opening

1 个答案:

答案 0 :(得分:3)

如果你把你正在使用的数字的链接(如果它是免费的),那将是非常好的。我从here下载了一个示例GeoTIFF图像,并使用gdal打开它。

geotiff.ReadAsArray()的形状为(3, 1024, 2048),因此我将其转换为(1024, 2048, 3)(RGB)并使用imshow打开它:

import gdal
gdal.UseExceptions()
import matplotlib.pyplot as plt
import numpy as np

geotiff = gdal.Open('/home/vafanda/Downloads/test.tif')
geotiff_arr= geotiff.ReadAsArray()
print np.shape(geotiff_arr)
geotiff_shifted = np.rollaxis(geotiff_arr,0,3)
print "Dimension converted to: "
print np.shape(geotiff_shifted)
plt.imshow(geotiff_shifted)
plt.show()

结果:

enter image description here