バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia3-backnumber/
はじめに
非極大値抑制を用いて、エッジをいい感じに1本の線にしたが、
全体的に暗い。
この場合、2値化をして明暗をはっきりさえるのが常套手段。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
いっそのこと2値化してしまいたい。
途中、インデックスサーチの話が入ったけど、
画像処理としては非極大値抑制をやったところだったね。
そうそう。
かなり画像処理っぽい感じになってきたと思う。
でも、非極大値抑制後の画像って妙に暗いんだよなー。
もっと線の微分がはっきりした白とかになると良いとは思うけど。
白と黒をはっきりさせることを2値化と言ったりするね。
2値化?
まず、非極大値抑制を掛けた後の画像を見せよう。
そして、2値化したもの。
おー!
なんかいい感じになったぞ!
で、何をしたの?
非極大値抑制を掛けた後の画像は、線は出てるのだけど、
元画像の輝度に依存している。
これに対して、線として残すべき部分を強制的に白(256階調だと255)、それ以外を黒(256階調だと0)にした。
それでくっきりはっきりしたのか。
2値化の手法
で、その2値化はどうやるの?
シンプルなのは、一定の閾値を超えた輝度を強制的に白にするってパターンだけど、
これだと、無関係なものまで白になったり、必要なものまで黒になったりしやすい。
まぁ、なんとなくわかる。
これに対して、Hysteresis Thresholdという手法で
「輝度が弱くても、強調したい線につながっていれば、それも白」
みたいなことが可能になる。
ちょっと何言ってるかわからん・・・。
ならば、Hysteresis Thresholdを図解できるよう次回までに準備しておこう。
よろしくー。
まとめ
まとめだよ。
- 非極大値抑制を掛けた後の画像はなんか暗い。
- よって2値化して、線をはっきりくっきりせされば良い。
- 閾値で2値化するのが一番シンプルだが、必要な線が消えたり、不要な線が残ったりしやすい
- これに対して、Hysteresis Thresholdを使うと言い感じになる。
バックナンバーはこちら。
コメント