2016年9月14日 更新

2値化処理

画像処理に関する情報発信として2値化処理についてご紹介します。

579 view お気に入り 0
同一トピックの「ノイズ軽減処理」と併せて、今回紹介する「2値化」は画像から目的とする物体を取り出す (抽出する) のに極めて重要です。

例えば下の図。
 (751)

白い背景に黒い点が規則正しく並んでいます。

例えば、この点の数や面積を正確に測りたいな...と思った時、手動で測るよりも画像処理を用いた方が客観的なのは言うまでもありません。

画像処理の最初のステップとして、「背景: この画像だと白い領域」と「前景: この画像だと黒い点」を区別する2値化を行ないます。

2値化とは、ある明るさを基準として、それより明るければ白、暗ければ黒に分ける処理で、最終的に白黒画像を生み出します。

上記の画像をある明るさを基準に2値化すると、下のようになります。
 (753)

背景は真っ白、点は真っ黒の白黒画像になりました。

しかし困ったことに、原画像を見てみると、背景よりは黒いけれど薄い点がいくつかあります。それらも含めてうまく取り出すにはもう1工夫必要なようです。

例えば、基準を下げて、薄い点でも取り出せるようにしたいですね。

しかし、こまったコトはまだあります。実はこの画像、照明条件などの影響で、全体的に左側が暗く、右側が明るいのです。

そのため、単純に基準を下げると、下のように背景まで取り出してしまいます。
 (755)

これだと、全部の点を取り出すことは困難です...。

各点を取り出せるよう、「ノイズ軽減処理」を組み合わせてみましょう。

実はこの背景のムラは、特殊なノイズの1つにあげられ、画像処理によって軽減することができます。

前回の説明よりも少し難しい処理ですが (いずれ機会があればご紹介したいです) 、下のように周期的なノイズを軽減できます。
 (757)

(少しわかりづらいかもしれませんが、左右の背景で明るさのムラが軽減されています)

ノイズ軽減処理を施した画像で、ある明るさに基づいて2値化すると、下のようになります。
 (759)

完璧ではありませんが、薄い点も取り出すことに成功しました。

研究の現場では、もう少し複雑な画像処理を施して、客観的かつ定量的な計測につなげていきます。

もしかしたら、こんなに複雑な処理なら手動で計測した方が早いと思うかもしれません。確かに28個の点なら、手動の方が早いかもしれません。

しかし、点が100個あるいは1000個あればどうでしょうか?
筆者は100個も手動で計測するほど忍耐強くありませんし、正確に測る自信もありません。

やはり、画像処理で客観的かつ正確 (かつ高速) に計測する方が信頼に足る研究に繋るのだと思います。

<まとめ>
画像から目的の領域を取り出すには、ノイズ軽減処理と2値化処理が有効。
11 件

関連する記事 こんな記事も人気です♪

Medical Imaging Tech Night開催のお知らせ

Medical Imaging Tech Night開催のお知らせ

2018年11月25日(日)~11月30日(金)まで米国シカゴにて開催される「RSNA2018(第104回北米放射線学会)(※1)」の「Machine Learning Showcase」にて出展いたします。そこで得た最新の情報を元に、医用画像解析・機械学習に関するプレゼンテーションおよびトークセッションと交流会を実施いたします。
等角写像による画像の変換〜Schwarz-Christoffel 変換〜part 2

等角写像による画像の変換〜Schwarz-Christoffel 変換〜part 2

前回の記事「等角写像による画像の変換〜Schwarz-Christoffel 変換〜part 1」の続きです. 実際に実装をして,写像を確かめてみます.
三好 裕之 | 286 view
画像のセグメンテーション - Level set 法の実装 (Chan-Vese) -

画像のセグメンテーション - Level set 法の実装 (Chan-Vese) -

画像処理のセグメンテーションの分野で用いられるLevel set 法を用いて画像のセグメンテーションを行います.
三好 裕之 | 1,848 view
画像の一部を消すInpainting という技術とその実装 (python)

画像の一部を消すInpainting という技術とその実装 (python)

Python + OpenCVにより,画像の修復の技術,「Inpainting 」の実装を行います.
三好 裕之 | 3,209 view
画像のFilter をPython で視覚的に理解する (Gaussian, Edge 抽出).

画像のFilter をPython で視覚的に理解する (Gaussian, Edge 抽出).

Python を用いて,画像のFilter を視覚的に理解してみます.コードを載せていますので,実装可能です.
三好 裕之 | 6,300 view

この記事のキーワード

この記事のキュレーター

エルピクセル編集部 エルピクセル編集部