[matplotlib animation] 45. skimage.transform.swirlのradius変化アニメーション

matplotlib Animation
スポンサーリンク
スポンサーリンク

はじめに

画像の非線形変換である渦巻き(skimage.transform.swirl)のパラメータ(radius)を変化させたときの画像の変化をmatplotlib FuncAnimationのアニメーションで表示する。

スポンサーリンク

コード

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

解説

モジュールのインポート

データの読み込みと図の生成

アニメーションの設定

表示されている図を消す

逐次、現在の画像を消して新しい画像を表示するという方法でアニメーション表示をするので、ax.cla()により、古い画像を消す。

画像の渦巻き処理

スワール変換については下記で解説した。ここでは、パラメータのradiusを変化させたときの画像の変化を見る。

[scikit-image] 24. 画像の非線形変換(渦巻き模様:transform.swirl)
ここでは、skimage.transformのswirlを用いた画像の非線形変換(渦巻き)について説明する。

画像の表示

タイトルに変化するstrengthの値の表示

逐次変化するradiusの値をタイトルに表示する。

アニメーションの表示

40stepアニメーション関数を実行して、250 ms間隔で順次図をかえていくので、10 secのアニメーションとなる。
HTML(ani.to_html5_video())とすればjupyter notebook上にアニメーションを表示できる。

スポンサーリンク

まとめ

radiusを増加させることで、旋回の及ぶ範囲が拡大していくことが確認できた。

スポンサーリンク

参考

Swirl — skimage v0.15.0 docs

コメント