0

1 つの座標系 4.3、50.8、4.4、50.9 があり、そのボックス内のポイントを 4800X4800 ピクセルのボックスに変換したいと考えています。これらの変換を行うのに役立つPython言語には何かありますか、それとも自分で数学を書く必要がありますか?

4

2 に答える 2

0

次のように書くことができます。

def remap_coords(x, y, x_min=4.3, y_min=50.8,
                 x_max=4.4, y_max=50.9, width=4800, height=4800):
    new_x = (x - x_min) / (x_max - x_min) * width
    new_y = (y - y_min) / (y_max - y_min) * height
    return (int(round(new_x)), int(round(new_y)))
于 2013-11-10T01:33:05.437 に答える
0

あなたが必要とするものを理解したら、これには numpy をお勧めします: http://www.numpy.org/

私が使用する方法は次のとおりです。

y = numpy.linspace(50.8,50.9,4800)
x = numpy.linspace(4.3,4.4,4800)
x,y = numpy.meshgrid(x,y)

この例では、linspace は、y に対して 50.8 から 50.9、x に対して 4.3 から 4.4 の間で線形補間された 4800 個の値を生成します。次に、meshgrid を使用して、x 値と y 値の両方について、これらの 1D 座標配列を 2 つの 2D 座標配列 (どちらも 4800 x 4800 ピクセルのサイズ) に形成します。

于 2013-11-10T02:06:10.977 に答える