ポイントのPythonリスト(x / y座標)があります:
[(200, 245), (344, 248), (125, 34), ...]
これは、2D平面上の輪郭を表します。平滑化、補間などにいくつかのnumpy / scipyアルゴリズムを使用したいと思います。通常、入力としてnumpy配列が必要です。たとえばscipy.ndimage.interpolation.zoom
。
ポイントのリストから正しいnumpy配列を取得する最も簡単な方法は何ですか?
編集:私は私の質問に「画像」という言葉を追加しました、それが今はっきりしていることを願っています、それが何らかの誤解を招くものであったならば、私は本当に申し訳ありません。私が意味したことの例(バイナリイメージ配列を指す)。
入力:
[(0, 0), (2, 0), (2, 1)]
出力:
[[0, 0, 1],
[1, 0, 1]]
ここで受け入れられた答えを四捨五入すると、実際のサンプルになります。
import numpy as np
coordinates = [(0, 0), (2, 0), (2, 1)]
x, y = [i[0] for i in coordinates], [i[1] for i in coordinates]
max_x, max_y = max(x), max(y)
image = np.zeros((max_y + 1, max_x + 1))
for i in range(len(coordinates)):
image[max_y - y[i], x[i]] = 1