2値画像処理
グレースケール画像やカラー画像から、2値画像(白黒画像)を取り出す処理を2値化処理という。
2値化処理は、ある画像から注目する領域の抽出や、不要な部分を除去するマスクの生成に用いられる。
2値化処理の単純な方法は__閾値処理__で、一定の閾値までは黒、閾値を越えたら白、というように対応づける。
マスク処理
マスク処理は、不必要となる部分を完全に消去し、必要な領域のみを抽出する処理。
応用例については次章。
膨張・収縮処理
風景などを撮影した画像の画素値は一様でなく、ムラがある事が多い。
ムラがある画像に対して2値化処理を行った場合、多くのノイズが入ってしまうため、膨張・収縮処理を施す。
(ノイズ例:微小な孔が開く、複数に分断される、点が残る)
膨張処理:注目画素または近傍に白画素があれば、注目画素を白にする。
収縮処理:注目画素または近傍に黒画素があれば、注目画素を黒にする。
膨張処理を繰り返すと、分断した領域を結合できる(繰り返しすぎると真っ白になる)
収縮処理を繰り返すと、小さな領域は消去され、最大領域だけ残すことができる(繰り返しすぎると真っ黒になる)
膨張・収縮処理は、単独では一方のノイズが増大するため、組み合わせて使用する。
膨張をn回実行した後で収縮をn回実行する処理を__オープニング__、収縮をn回実行した後で膨張をn回実行する処理を__クロージング__と呼ぶ。
形状特徴パラメータ
2値画像内の繋がった要素のことを__ブロブ__と言い、輪郭形状を読み取ることで物体の距離や姿勢の情報が得られる。
ブロブを包含する矩形を__外接長方形__と言い、長方形の2辺の比(縦/横)のことを縦横比という。
ブロブの形状特徴の表し方(形状特徴パラメータ)
・面積:ブロブの大きさを表す。具体的にはブロブ内の白い画素数。
・周囲長:ブロブの輪郭の長さ。
・円形度:対象がどれほど円形に近いかを示すパラメータ
ラベリング処理
2値画像内に複数のブロブが存在する場合に、各ブロブに一位の識別子を付けて識別する処理を__ラベリング__と呼ぶ。
ラベリングにより、それぞれのブロブを抽出して個別に扱えるようになる。