0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

『OpenCVによる画像処理入門』8章

Posted at

2値画像処理

グレースケール画像やカラー画像から、2値画像(白黒画像)を取り出す処理を2値化処理という。
2値化処理は、ある画像から注目する領域の抽出や、不要な部分を除去するマスクの生成に用いられる。

2値化処理の単純な方法は__閾値処理__で、一定の閾値までは黒、閾値を越えたら白、というように対応づける。

入力画像
image.png

閾値(thresh)=100
image.png

マスク処理

マスク処理は、不必要となる部分を完全に消去し、必要な領域のみを抽出する処理。
応用例については次章。

膨張・収縮処理

風景などを撮影した画像の画素値は一様でなく、ムラがある事が多い。
ムラがある画像に対して2値化処理を行った場合、多くのノイズが入ってしまうため、膨張・収縮処理を施す。
(ノイズ例:微小な孔が開く、複数に分断される、点が残る)

膨張処理:注目画素または近傍に白画素があれば、注目画素を白にする。
収縮処理:注目画素または近傍に黒画素があれば、注目画素を黒にする。

膨張処理を繰り返すと、分断した領域を結合できる(繰り返しすぎると真っ白になる)
収縮処理を繰り返すと、小さな領域は消去され、最大領域だけ残すことができる(繰り返しすぎると真っ黒になる)

膨張(8近傍、3回繰り返し)
image.png
収縮(8近傍、3回繰り返し)
image.png

膨張・収縮処理は、単独では一方のノイズが増大するため、組み合わせて使用する。
膨張をn回実行した後で収縮をn回実行する処理を__オープニング__、収縮をn回実行した後で膨張をn回実行する処理を__クロージング__と呼ぶ。

オープニング5回、クロージング5回(8近傍)
image.png

形状特徴パラメータ

2値画像内の繋がった要素のことを__ブロブ__と言い、輪郭形状を読み取ることで物体の距離や姿勢の情報が得られる。
ブロブを包含する矩形を__外接長方形__と言い、長方形の2辺の比(縦/横)のことを縦横比という。

ブロブの形状特徴の表し方(形状特徴パラメータ)
・面積:ブロブの大きさを表す。具体的にはブロブ内の白い画素数。
・周囲長:ブロブの輪郭の長さ。
・円形度:対象がどれほど円形に近いかを示すパラメータ

ラベリング処理

2値画像内に複数のブロブが存在する場合に、各ブロブに一位の識別子を付けて識別する処理を__ラベリング__と呼ぶ。
ラベリングにより、それぞれのブロブを抽出して個別に扱えるようになる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?