皆さんは日常で,グレースケール画像を2値画像にしたい,そんな事がよくあると思います.ちなみに,2値画像とは,グレースケール画像の様に灰色のような中間色を含まず,白黒はっきりつけた画像のことです.2値画像に変換することを2値化といいます.
さて,どのように変換すればよいでしょう.
1. ペイント->名前を付けて保存->モノクロビットマップ
2. 1ピクセルずつ愛をこめて判定していく.
3. とある分析方法を使う.
今回は,3.の方法を使ってみましょう.
判別分析法(discriminant analysis method)
"分離度"を用いて,白黒の境であるしきい値tを決める方法です.
分離度とはクラス間分散とクラス内分散の比で定義されるものです.これが一番大きい時のtをしきい値とするわけです.
式の計算がゴニョゴニョしててわずらわしいので,結論まで飛躍してしまいましょう.
結論:
クラス間分散σb2が最大になるようにtを定めれば良い.
σb2は以下の式で定義されます.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS-oJvK4En7DNVM497yxNJYjhR62NjOIbzWxkKj6U_j3wWK2y6Vtdd7ChPfsgVSVsyVOwxiJTZr6QcJmpAnL9oQ0mTfZQICan0dem5qIvmIvYk8U4929MDUyTuZzAnc4Qr7BRUvC2jJpQ/s200/dam.png)
ここで,
ω1 : 黒画素クラスの画素数
ω2 : 白画素クラスの画素数
m1 : 黒画素クラスの画素値の平均
m2 : 白画素クラスの画素値の平均
黒画素クラス : しきい値tより,画素値が低い画素の集合
白画素クラス : しきい値tより,画素値が高い画素の集合
では,さっくりと実例を…
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz70uASZSZrHxjGqnAWeRuu-k_5E4B1QNLrLHQ4BA0a5P6rM8EErr98WEbFfFXPBxUvnn8u-tRAqrsOx9okgfdNsF0xqbPNt9JFI2qjAwpjA4yH-cNu8OC4zWmtljMDrdjitGZX493EiY/s200/ainomachikado_before.png)
Fig.1 元画像1
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIZoq6HtljyYWSIC-RdpnTYrwPpufSTn83X7ovtTDKFoAGEytpgHeXFRvGbOI-Om5M5EJV8b6jlx1HywMCpXxIDOJy7YzfGVQhDy-ry6l2Z-7LXIfc1jWRdn3I3x1Ln3s3epTG3dlx0UI/s200/ainomachikado_after.png)
Fig.2 変換画像1(しきい値t=132)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq6eJRnvRqoaGqbfjvxwQ1_VJl2wPmef5OxLVUqMQqtAdWzCqBG9g8xlkxK8kaThnvRkJ6-xuN5nWU0T5aeHuGfPHqJperU-XTqWhltrjn3IlrzinGI8AOyEl9Ysr4o1ihdaXoRp97zoM/s200/katsudon_before.png)
Fig.3 元画像2
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFx2xGHoH0pgQ2itiXG7BQh2fFmEUsbqxuTJW0f6VviYs_VTLPPG7JVyueFHm6Z_UfQyX_jm8iXaCVYVbuR-netHDjFBjIT6Ybztd9VM9sXgYs-F7-wQzM0bJ4SSotKASeJSYJL9BzP3Y/s200/katsudon_after.png)
Fig.4 変換画像2(しきい値t=174)
こんな感じ.ちゃんと2値化できているんではないでしょうか.
0 件のコメント:
コメントを投稿