Home > Archives > 2011-08

2011-08

cv::findCirclesGrid()

自前でやっていた円パターン認識処理と同様の処理を行う関数cv::findCirclesGrid()がOpenCV2.3で新たに提供されたようなので試してみました.
OpenCVのカメラ校正はそもそも「普通の」カメラの校正を想定してある感じなのですが,もし,ある程度歪曲のある画像からも検出してくれるならば広角や魚眼のカメラ校正にも使えるかも,と期待しつつ,手持ちの魚眼画像を与えて実験.

結果は,↓のように,(ちょっと円の中心からずれた位置に結果が出てる気もしますが)
・ある程度の歪曲
・パターンボード面上に明るさ変化
がある画像でも認識できている! ワオ!

findCirclesGrid結果

findCirclesGrid結果

…と思いきや,こちらの画像↓や,自前処理の結果例に使った画像等では失敗してしまうようです.

認識できない画像

認識できない画像

↑の画像はボード姿勢がカメラに対して斜めすぎるのが良くないのかもしないと思い,よりperspective distortionにロバストになるというオプションCALIB_CB_CLUSTERINGを指定してみましたが,やはり結果は変わらず.
成功する画像と失敗する画像の境界がいまいち不明ですが,魚眼画像だとちょっと傾いた姿勢だったりすると厳しいようです.
うーん,残念.

by nakiusagi3

  • Comments (Close): 0
  • Trackbacks (Close): 0

OpenCV2.3インストール作業メモ

OpenCV2.3(windows版)の導入を行ってみました.

【DL】
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3/
からダウンロードしてきます.
・OpeCV-2.3.0-win-superpack.exe
・OpenCV-2.3.0-win-src.zip
の2種類があり,前者はVS2008と2010でのビルド済みバイナリが含まれていますが,
私の環境はVS2005であり,(試しにDLしてみたが使えなかったので)後者をDLしてビルドすることに.
※作業時点ではどちらも(Modified 2011-7-4)でした.

【ビルド】
CMake→VS2005の順で使用します.
(今回に限らず,CMakeは私の環境ではいくらVS2005を使うように指定しても
 VS2003のcl.exe, link.exe, rc.exe等を使おうとするので,
 CMakeのGUI上でそういった個所を全て修正する必要がありました.)
今回はCUDAとOpenNIは使わない設定としました.

CMakeで作られたslnをVS2005でビルドする前に,
構成マネージャで”INSTALL”にチェックを入れると(デフォルトではチェックされていない)
installというフォルダが作られ,そこに必要なDLL,lib,hがまとめて入れられるみたいです
…が,この”INSTALL”で
「opencv-ffmpegd.dll なるファイルが無い」という旨のエラーが発生して止まってしまいました.
対処法を探したところ,
https://code.ros.org/trac/opencv/changeset/6018
を発見.ここに書いてある通りにCMakeLists.txtの1396~1403行を削除することで
エラーを無くすことができました.
この対処方法で本当に良いのかは不明ですが,
とりあえずちょっとしたテスト(画像のロード,ウィンドウへの表示,Webカメラからのキャプチャ)は無事動作しました.

  • Comments (Close): 0
  • Trackbacks (Close): 0

Home > Archives > 2011-08

Search
Feeds
Meta

Return to page top