[scikit-image] 17. 図形の描写(draw.line, polygonなど)

python
スポンサーリンク
スポンサーリンク

skimage.draw の circle_perimeter, ellipse_perimeterなどを用いた図形の描写

コード

コードをダウンロード
スポンサーリンク

解説

この例では、画像内に図形を描写するdraw のline, polygon, circle, circle_perimeter, ellipse, ellipse_perimeter, bezier_curve, line_aa, circle_perimeter_aaの使い方について説明する。

モジュールのインポート

画像の生成

500×500のRGB画像、要素はすべて0なので、黒い画像となる。

線の描写

要素が全て0のRGB画像に線のデータを上書きすることで、図形を描写する。
(100, 200)から (200, 400)に向けて線が生成する。
img[rr, cc, 0] = 255により、赤色の線となる。

多角形の描写

poly[:, 0]が多角形の頂点の行座標で、poly[:, 1]が列座標となる。
img[rr, cc, 2] = 1により、ブルーのポリゴンとなる。

円の描写

circle(200, 200, 50, img.shape)により、(200,200)の位置に半径50の円が描写される。
img[rr, cc, :] = (1, 1, 0)により、黄色となる。RGBのRedとGreen。

楕円の描写

ellipse(400, 100, 50, 100, img.shape)により、(400,100)の位置に横半径100, 縦半径50の楕円が描写される。

円周の描写

circle_perimeter(100, 100, 30)により、(100,100)の位置に半径30の円周が描写される。

ベジェ曲線の描写

bezier_curve(100, 300, 50, 350, 100, 400, 1)により、(100, 300), (50, 350), (100, 400)を制御点とする重み1のベジェ曲線が描写される。

複数の楕円の描写

orientation=math.pi / 4のようにすることで、傾いた図形を描写できる。

アンチエイリアスの線

line_aaにより、ギザギザしないなめらかな線を描写できる。

アンチエイリアスの円

circle_perimeter_aaにより、ギザギザしないなめらかな円を描写できる。

比較として、アンチエイリアスの効いていない円をその右に描写している。

スポンサーリンク

参考

Shapes — skimage v0.15.0 docs
スポンサーリンク
python画像処理
スポンサーリンク
この記事をシェアする
sabopy.comをフォローする
スポンサーリンク
サボテンパイソン

コメント