はじめに
skimage.filters の threshold_localで適応的しきい値処理を行う方法について説明する。
解説
モジュールのインポートなど
バージョン
画像の読み込み
下記サイトの画像を使用する。color.rgba2rgbでPNG形式からRGB画像に変換し、color.rgb2grayでグレースケール形式に変換する。最後にimg_as_ubyteでubyte形式に変換する。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU-VOidPK8k9aJmssf3dwC46TIm2TNISN7iqDC2KF-IGEhGfVR7ivYUQG0J4eS8F9K38hILh5-u9BCRTKQ_kwLvsFipIOp0Hu_qmib1RLtfprFBOI8XMoKb2YZbHq1oz_3BawLtetRnQ6w/s400/drink_cola_fukuro.png)
袋に入ったコーラのイラスト
いらすとやは季節のイベント・動物・子供などのかわいいイラストが沢山見つかるフリー素材サイトです。
適応的しきい値と大津の方法による大域的しきい値の計算
block_sizeで計算範囲を設定し、適応型しきい値処理をthreshold_localで行う。それぞれの画素でしきい値が求まるのでしきい値像が出力される。
大津の方法による大域的しきい値はthreshold_otsuで計算できる。
結果の表示
subplotsでオリジナル画像としきい値像、適応的2値化像と大域的2値化像を表示すると以下のようになる。
![](https://sabopy.com/wp/wp-content/uploads/2021/09/threshold_local_1-1.png)
methodを変化させた時の2値化像
methodは{‘generic’, ‘gaussian’, ‘mean’, ‘median’}から選択することができ、‘generic’の場合は、param
parameterに任意の式を設定することができる。
![](https://sabopy.com/wp/wp-content/uploads/2021/09/threshold_local_2-1.png)
block_sizeを変化させた時の2値化像
block_sizeを変化させた時の2値化像は下のようになる。
![](https://sabopy.com/wp/wp-content/uploads/2021/09/threshold_local_3-1.png)
sigmaを変化させた時の2値化像
method=”gaussian”の場合、parameterでsigmaの値を設定できる。上が2値化像、下がしきい値像となる。
![](https://sabopy.com/wp/wp-content/uploads/2021/09/threshold_local_4-1.png)
参考
skimage.filters — skimage 0.24.1rc0.dev0 documentation
skimage.color — skimage 0.24.1rc0.dev0 documentation
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU-VOidPK8k9aJmssf3dwC46TIm2TNISN7iqDC2KF-IGEhGfVR7ivYUQG0J4eS8F9K38hILh5-u9BCRTKQ_kwLvsFipIOp0Hu_qmib1RLtfprFBOI8XMoKb2YZbHq1oz_3BawLtetRnQ6w/s400/drink_cola_fukuro.png)
袋に入ったコーラのイラスト
いらすとやは季節のイベント・動物・子供などのかわいいイラストが沢山見つかるフリー素材サイトです。
コメント