はじめに
skimage.filters の rank.equalizeによるヒストグラム均等化で、パラメータのselemを変化させるアニメーションについて解説する。
コード
解説
モジュールのインポート
画像の設定
アニメーションの設定
アニメーションでは古いグラフを消して新しいグラフを表示するという動作を繰り返すので、ax.cla()で現在表示されているグラフを消している。
update関数のなかで、 selem = disk(5*num+5)と変化させることで、selemの大きさがヒストグラム均等化にどう影響するかを調べたアニメーションを表示する。ここでは、selemを5から100にかけて変化させ、そのときそのときの、selemの値をタイトルに表示している。
アニメーションの表示
FuncAnimationでanimationの表示する。updateを20step実行してアニメーションとする。intervalは500 ms なので10秒のアニメーションとなる。
HTML(ani.to_html5_video())でjupyter notebook上にアニメーションを表示できる。
参考
[scikit-image] 6. ヒストグラム均等化による高コントラスト化
skimage.filters の rank.equalizeによりコントラストを高める
matplotlib.animation.FuncAnimation — Matplotlib 3.9.3 documentation
コメント