はじめに
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上にアニメーションを表示できる。
参考
https://matplotlib.org/api/_as_gen/matplotlib.animation.FuncAnimation.html
コメント