[matplotlib animation] 68. 隣接領域グラフ(RAG)によるmerge_hierarchicalのthresh変化アニメーション

matplotlib Animation

はじめに

この記事では、matplotlib の FuncAnimation を使用して、skimage.feature graph の merge_hierarchical 関数のパラメータ thresh を変化させた際の画像変化をアニメーションで表示する方法について解説しています。隣接領域グラフ(RAG)を用いて、色の似ている領域を結合する処理を視覚的に表現します。

コード

解説

隣接領域グラフ(RAG)による色が似ている領域の結合

skimage.feature.graph の merge_hierarchical 関数による隣接領域グラフ(RAG)を用いた、色が似ている領域の結合については下記で説明しました。

[scikit-image] 62. 隣接領域グラフ(RAG)による色が似ている領域の結合(skimage.feature graph merge_hierarchical)
scikit-imageライブラリのskimage.feature graphモジュールのmerge_hierarchical関数を使用して、画像の隣接領域グラフ(RAG)を構築し、色の類似した領域を効率的に結合する方法について解説します。

アニメーションの設定

アニメーション以外のコードは上記記事と同じなので省略します。ax.cla()でまず画像をクリアし、thresh=2numとしたmerge_hierarchical画像を順次表示していきます。ax.set_title(“thresh=”+str(2num))でタイトルに用いたthreshの値を表示します。

アニメーションの表示

HTML(ani.to_html5_video())により、jupyter notebook またはjupyter lab上にアニメーションを表示できます。

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

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

まとめ

画像処理において領域の統合(セグメンテーション)は重要な技術であり、隣接領域グラフを用いた手法は効果的です。閾値を変えることで統合される領域が変化する様子をアニメーションで可視化することで、適切なパラメータ設定の参考になります。

参考

[scikit-image] 62. 隣接領域グラフ(RAG)による色が似ている領域の結合(skimage.feature graph merge_hierarchical)
scikit-imageライブラリのskimage.feature graphモジュールのmerge_hierarchical関数を使用して、画像の隣接領域グラフ(RAG)を構築し、色の類似した領域を効率的に結合する方法について解説します。
https://scikit-image.org/docs/dev/api/skimage.future.graph.html#skimage.future.graph.merge_hierarchical
matplotlib.animation.FuncAnimation — Matplotlib 3.10.6 documentation

コメント