この様に、ある値(閾値)を境に、元々256の取り得る値があったものを、0と1のように2つの 値にすることを2値化といい、黒いライン等、画面の中で、最も暗く写ると見込まれている 様なエリアに印を付けることが出来ます。
この例では、ラインの抽出が目的だったので、画面の上のほうは、部屋の暗がりが写ってしまい 、そこまで処理に含めると、ラインとして認識されてしまう可能性があるので、この段階で そりから除外したため、元の画像のままとなっています。
カメラからの映像は、室内の 照明の状態や、撮影時のカメラの設定(露出時間など)により、全体的に明るかったり 暗かったりがあり、いつも同じ閾値で、欲しいものを分離できるとは限りません。 よって、閾値をどのような判断基準で決定するかがこの処理のポイントになります。
明るい部分を暗く、暗い部分を明るく反転します。2値化された画像の場合は 1の場所は0に、0の場所は1にします。この例のように、白黒256段階の画像は 、各ピクセルの元の明るさ値をX、反転後の値をYとすると、Y=255−Xと することにより、明るさが反転します。カラー画像の場合は、RGBの各色成分 毎に行います。
W6では天井の蛍光灯の見え方から、自分の位置を計算する時に、ライントレース 用として先に作った黒いラインを抽出するプログラムを使うため、抽出したい蛍光灯 の部分を暗い部分として浮き立たせるために使っています。
この場合、隣り合うピクセルとの明るさの数値の差(閾値)が20以上 あるところの、明るさ数値の大きい方のピクセルを赤くすると、右のようになり、明るさの 変わり目にマークがされることとなります。
この様に 「画像の縦方向もしくは横方向に隣接するピクセルの明るさの差が一定以上の場所に 印を付ける」というような処理によって、画像に写っている対象の輪郭を浮き立たせる ようなことが出来ます。
次の例は、床の上のボールの輪郭を取り出せないかと、試した時の画像です。 閾値を一定とした場合は、ボールの輪郭線の場所によって、背景とのコントラスト に強弱があるため、輪郭の一部しか取り出せていません。
次は、すでに2値化によって欲しい対象の分離に成功しているものの輪郭を取り出している例です。 こういった場合は、うまく輪郭を取り出すことが出来ます。
以上のように、うまくいくかどうかは、照明の当たり方、背景の模様、前処理の種類、 閾値の取り方など 、沢山の要素に影響されて決まります。