[matplotlib animation] 39. ハフ変換により検出した線を順次表示するアニメーション

matplotlib Animation

はじめに

matplotlib FuncAnimationによる、輪郭画像のハフ変換から検出した線を順次表示していくアニメーションの解説をする。

コード

解説

モジュールのインポート

画像の読み込み、輪郭抽出、Hough変換

Hough変換の詳細は、下記記事で解説した。

[scikit-image] 19. 画像のHough変換(transform.probabilistic_hough_line)
skimage.transform の probabilistic_hough_lineを用いたハフ変換による直線検出

図の作成

ax.set_axis_off()で軸、軸ラベル等を非表示にしている。

アニメーションの設定

ハフ変換した線の数を計測

len()でリストのサイズを計測する。

線を順次表示するアニメーションの設定

p0, p1 = lines[num]により、linesのリストから、ラインの開始点と終了点を取得し、 ax.plot((p0[0], p1[0]), (p0[1], p1[1]),lw=3)でプロットする。
ax.set_title(“line=”+str(num))でタイトルにそのときそのときに表示した線の番号(リストのインデックス)を表示する。

アニメーションの表示

HTML(ani.to_html5_video())とすればjupyter notebook上にアニメーションを表示できる。

参考

[scikit-image] 19. 画像のHough変換(transform.probabilistic_hough_line)
skimage.transform の probabilistic_hough_lineを用いたハフ変換による直線検出

コメント