获取光栅图像中所有像素的像素坐标

2024-05-20 11:11:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个形状为9000x10000的光栅图像,它有RGB波段。我使用下面的代码来获取图像中所有像素的XY坐标。但速度很慢。有没有更快的方法?在

filename='file.dat'
inDs = gdal.Open(filename)
outDs = gdal.Translate('{}.xyz'.format(filename), inDs, format='XYZ', creationOptions=["ADD_HEADER_LINE=YES"])

我想把XY坐标和像素值保存在一个数据帧中。在


Tags: 方法代码图像format光栅波段rgb像素
1条回答
网友
1楼 · 发布于 2024-05-20 11:11:57

如果光栅文件具有GeoTransform属性,可以尝试以下操作:

import gdal
import pandas as pd

def ix2xy(r,c,gt):
    '''Gets x,y from row and column'''
    x = gt[0] + r * gt[1]
    y = gt[3] + c * gt[5]
    return(x,y)

这个小函数从GeoTransform属性获取X/Y坐标,该属性是一个带有(xorigin, xres, 0, yorigin, 0, yres)的元组。在

^{pr2}$

这将为您提供一个整洁的数据框架,其中包含RowColumnX和{}列。在

相关问题 更多 >