領域の探索 その2

前回、OpenCVを用いて特定の条件に合致した四辺形を探す方法を幾つか書いた。

  • 面積
  • フェレ径比率
  • 構造

また、これらの方法は画像の質に極めて依存するということで、カメラで撮影した映像などでは必ずしも有効な探索方法とはいえないことも書いた。

今回は多くの人が使っている、ポピュラーな探索方法を紹介しておこう。

色による探索

OpenCVのモバイルにおける典型的な目的の一つに、カメラを通してキャプチャした映像、画像に対して「顔認識」「人物認識(肌色認識)」「オブジェクト認識」を行うことがあるが、これらの探索のパラメタには前回紹介した特徴で認識する他に色を特徴のパラメタとして認識する方法がある。

OpenCVを使う場合、具体的には以下の手順と方法で物体(四辺形、円形、オブジェクト)を探索、認識することになるだろう。

1. 認識する色の情報を決定する
2. 決定した色の範囲を決めて、RGB色空間からHSV色空間に変換する
3. 対象の画像を1.で決定した色情報から、Hue(色相)を使って2値化する
4. 2値化した画像から輪郭を取り出す

色情報として一般的なRGBではなく、HSV(B)を使うことは重要だ。 色相(Hue)は0°〜360°(OpenCVの場合0°〜180°)の範囲で色の範囲を一つのパラメタで表すことができるためだ。他のパラメタ彩度(Saturation)と輝度(Brightness)はある程度緩くしてもHueさえ合致していれば認識できるということにもなる。

色は人間が識別しやすいパラメタのひとつだが、ComputerVisionにとっても認識しやすいパラメタということだ。

次回は具体的に色を使った探索のためのコードを書いてみようと思う。