我有一张卫星图像,我想把它分解成重叠的部分。我已经设法将图像分割成这些部分,但当我在ArcMap中查看它们时,所有图像都会落在同一个点上,并完全重叠
我怎样才能使它们在我从原始图像中裁剪出来的地方对齐呢
def split_img(img_in, outpath, stride=240, out_img_size=(300,300)):
file = gdal.Open(img_in)
arr = file.ReadAsArray()
tiles = skimage.util.view_as_windows(arr, out_img_size, stride)
n = tiles.shape[0]
m = tiles.shape[1]
for i in range(n):
for j in range(m):
a = str(i)+"_"+str(j)
outfile = os.path.join(outpath, 'Split_%s' % a + '.tif')
img = tiles[i,j]
[cols,rows] = img.shape
trans= file.GetGeoTransform()
proj= file.GetProjection()
outdriver = gdal.GetDriverByName("GTiff")
outdata = outdriver.Create(str(outfile), rows, cols, 1, gdal.GDT_Float32)
outdata.GetRasterBand(1).WriteArray(img)
outdata.SetGeoTransform(trans)
outdata.SetProjection(proj)
outdata = None
print('Processing %s' % a)
这是我用来分割图像的代码。我认为,通过附加投影信息以及原始图像的地理变换,可以正确地投影输出瓷砖,但情况似乎并非如此
目前没有回答
相关问题 更多 >
编程相关推荐