バックナンバーはこちら。
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を使うと言い感じになる。
バックナンバーはこちら。
コメント