はじめに
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. ヒストグラム均等化による画像コントラスト向上
scikit-imageのrank.equalizeを用いたヒストグラム均等化の実装方法を解説。暗い画像や低コントラスト画像を鮮明にする処理技術で、医療画像や天体写真などで活用されています。Pythonによる実装例も紹介。
matplotlib.animation.FuncAnimation — Matplotlib 3.10.5 documentation
コメント