1. numpyの画像配列に与えられた2点間の線を引く
2点の座標が与えられてその2点の間に線を引きたい。
実現したいことは簡単な内容だけれども実際にどのようなコードになるのかさっとはわからなかったので調べました。
情報源はこちらになります。
参考にさせて頂いたサイト
"skimage.draw.line_aa"を使用する方法が紹介されています。
使用するモジュール
この記事では実際にコーディングして試してみました。
2. コード
実際のコードになります。
真っ黒な画像と2点の座標を用意して2点の間に白線を引いてみました。
linetoimgarray.py
import numpy as np
from PIL import Image
from skimage.draw import line_aa
imgarray = np.zeros(
(100, 100),
np.uint8,
)
point1 = (10, 20)
point2 = (80, 30)
rr, cc, val = line_aa(
point1[0],
point1[1],
point2[0],
point2[1],
)
imgarray[rr, cc] = val * 255
img = Image.fromarray(imgarray)
img.save("linetoarray.jpg")
作成された画像が下記。
linetoarray.jpg
3. まとめ
"skimage.draw.line_aa"はとても便利で私が対応したいことを簡単に実現してくれました。
今回は以上です。