[matplotlib animation] 36. Canny法によるエッジ検出アニメーション

matplotlib Animation

はじめに

Canny法によるエッジ検出において、skimageのfeature.canny()のsigmaを変化させたときに検出されるエッジの変化をアニメーションで表示する。

コード

解説

モジュールのインポート

データの読み込み

画像をimread()で読み込む。
ndi.rotate() で回転する。mode=constantでエッジの処理に定数が用いられる。
gaussian_filterでぼかしが入り、
im に 0.17 * np.random.random(im.shape)のノイズが加わる。

アニメーションの設定

ax.cla()で現在の図を削除して、feature.canny()のsigma値を変化させたアニメーションを表示する。ax.set_title(“$\sigma=$”+str(num/20+0.05)[:4])でタイトルにそのときそのときのsigma値を表示する。

アニメーションの表示

FuncAnimationでanimationの表示する。updateを50step実行してアニメーションとする。intervalは200 ms なので10秒ほどのアニメーションとなる。
HTML(ani.to_html5_video())でjupyter notebook上にアニメーションを表示できる。

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

参考

matplotlib.animation.FuncAnimation — Matplotlib 3.9.2 documentation

コメント