Nov11’s diary(自宅での開発環境作り )

3Dプリンタと切削加工機で工作した事をアップして行きます

自作したロボットアームを制御する(現実認識を行う)(その1)OpenCVでAR(拡張現実)を行う

自作したロボットアームのエドをVR(仮想現実)上で自由に動かせたので、エドの目を作成する事にした
こちらも、OpenGLと同様に、OpenCVVisual studio C++を使って作成する事にした
OpenCVを使用してのプログラムは、参考にするサイトが色々とあり、OpenGLに比べて、楽に組めた
ただ、OpenCVのバージョン毎のコーディングが違っていて、整理するのに苦労してしまった

んで。手始めに少し前に流行ったAR(拡張現実)を使って、オセロのコマを認識する事にしてみた
注意点は、使用したリソースをプログラム終了時に開放しないと、プログラムが正しく終了しない
また、使用するWebカメラによって、初回取り込みまで一定の時間(1秒程度)経過して取り込まないと正しく取り込めない

[処理手順]
1)オセロのコマの画像を白と黒、それぞれで用意する
2)OpenCVを使って、画像を取り込む
  cvCaptureFromCAMでカメラと接続する
  cvQueryFrameで画像をキャプチャーする
3)コマ(白、黒)のマッチングを行う
  matchTemplateを使用して、画像が含まれているか確認する
  戻り値の認識率が一定の値以上なら、含まれているので、
  認識した位置を使用して、表示を行う

[認識結果]

f:id:Nov11:20161025073353j:plain

[認識している動画]

youtu.be

余談だけど、ドラマ24の「勇者ヨシヒコ」を見ていて思ってしまった事が、このまま、エドにカメラを取り付け、文字が読める様になり、自分で学習出来るようになると、「寄生獣のミギー」、いや「ヒダリー?」みたくなってしまう...
ん~、何かの啓示なのか、これを機会に改名しろと神様が言っている...はずは無いか!
やはり真面目に取り組む為にも、エドで行こう!

なお、ブログの内容を参照して実行した結果に責任は負いかねますので、ご了承下さい