2010/06/05

OpenCVでマーカー検出

前回の続き。
前回は画像の輪郭を抽出するところまでやりました。


今回はもう少し工夫して、マーカーを検出するところまで作ってみました。
今回の成果は下記のような感じになります。



現時点ではマーカーの識別までしか出来ていませんが、今後はマーカーがどちらを向いているかがわかるようにする予定です。

処理の流れは下記の通りとなります。
0.カメラからイメージを取得し、グレースケール化した後に二値化します。
1.二値化したものからcvFindContoursを使って輪郭を抽出します。
2.輪郭をcvApproxPolyを使ってポリゴンに近似させます。
3.ポリゴンに近似した輪郭のうち、外側の輪郭と内側の輪郭の両方とも四角形のものを中秋します。
4.抽出した四角形と、マーカーの大きさ情報をcvFindExtrinsicCameraParams2にかけ、回転ベクトルと移動ベクトルを算出します。
5.求めた回転ベクトルと移動ベクトルを使い、cvProjectPoints2を使って立方体の各ポイントを変換します。
6.変換したポイント間に線を引きます。

ソースコードは動作が安定してから載せます。

ではまた。

0 件のコメント:

コメントを投稿