[matplotlib animation] 103.計算範囲を変えたときの大津の適応的2値化像変化アニメーション

matplotlib Animation

はじめに

skimage.filters の rank.otsuで大津の方法で適応的しきい値処理を行うことができる。ここでは、適応的しきい値を行う範囲を変化させた時の2値化像の変化をアニメーションで表示する。

大津の適応的2値化については下記記事で解説した。

[scikit-image] 96. 大津の適応的しきい値処理による画像の2値化(skimage.filters rank.otsu)
skimage.filtersのrank.otsuで大津の方法で適応的しきい値処理を行う方法について説明する。

解説

モジュールのインポートなど

バージョン

画像の読み込み

下記サイトの画像を使用する。color.rgba2rgbでPNG形式からRGB画像に変換し、color.rgb2grayでグレースケール形式に変換する。最後にimg_as_ubyteでubyte形式に変換する。

マリトッツォのキャラクター
いらすとやは季節のイベント・動物・子供などのかわいいイラストが沢山見つかるフリー素材サイトです。

計算範囲を変化させて適応的しきい値処理

適応型閾値処理を行う範囲をrange(3,101,2)で変化させる。ここでは、計算範囲の種類として、diskを用いる。得られたしきい値像はlocal_otsusに追加していく。

2値化像の変化アニメーション

オリジナル、しきい値、2値化像のアニメーション

計算範囲形状としてDiamondを用いた場合

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

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

参考

Local Otsu Threshold — skimage v0.12.2 docs
skimage.color — skimage 0.25.0rc2.dev0 documentation
マリトッツォのキャラクター
いらすとやは季節のイベント・動物・子供などのかわいいイラストが沢山見つかるフリー素材サイトです。

コメント