はじめに
skimage.filters の threshold_localで適応的しきい値処理を行う方法について説明する。
解説
モジュールのインポートなど
バージョン
画像の読み込み
下記サイトの画像を使用する。color.rgba2rgbでPNG形式からRGB画像に変換し、color.rgb2grayでグレースケール形式に変換する。最後にimg_as_ubyteでubyte形式に変換する。
袋に入ったコーラのイラスト
いらすとやは季節のイベント・動物・子供などのかわいいイラストが沢山見つかるフリー素材サイトです。
適応的しきい値と大津の方法による大域的しきい値の計算
block_sizeで計算範囲を設定し、適応型しきい値処理をthreshold_localで行う。それぞれの画素でしきい値が求まるのでしきい値像が出力される。
大津の方法による大域的しきい値はthreshold_otsuで計算できる。
結果の表示
subplotsでオリジナル画像としきい値像、適応的2値化像と大域的2値化像を表示すると以下のようになる。
methodを変化させた時の2値化像
methodは{‘generic’, ‘gaussian’, ‘mean’, ‘median’}から選択することができ、‘generic’の場合は、param
parameterに任意の式を設定することができる。
block_sizeを変化させた時の2値化像
block_sizeを変化させた時の2値化像は下のようになる。
sigmaを変化させた時の2値化像
method=”gaussian”の場合、parameterでsigmaの値を設定できる。上が2値化像、下がしきい値像となる。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)参考
skimage.filters — skimage 0.25.0rc2.dev0 documentation
skimage.color — skimage 0.25.0rc2.dev0 documentation
袋に入ったコーラのイラスト
いらすとやは季節のイベント・動物・子供などのかわいいイラストが沢山見つかるフリー素材サイトです。
コメント