”OpenCV 2.4.10 の stereo_calib.cpp を自分のカメラ画像でやってみた1”の続き。
前回は自分で作ったチェスボードを使ってステレオカメラのキャリブレーションをしようとしたら、チェスボードの左目カメラ画像と右目カメラ画像のペアを認識してくれなかった。今回は、チェスボードを変更してみたら、ペアを認識してくれたが、ステレオカメラのキャリブレーションがまだおかしい。
さて、いろいろとチェスボードの位置や大きさを変更して、stereo_calib を実行したが、上手くペアを認識してくれない。それではチェスボードがおかしいのだろうか?ということで、背景だけの画像ファイルにOpenCV のサンプルのチェスボードだけをコピー&ペーストしたものを混ぜてみたら、見事それはペアと認識されているようだった。
やはり、チェスボードのパターンが重要のようだった。ちなみに、stereo_calib のオプションで -w がチェスボードのコマの横の数、-h が縦の数を指定できるので、指定していたのだが、やはりペアと認識してくれなかった。
OpenCV のサンプルで使用されているチェスボードを作ることにした。
それで、チェスボードの画像を撮影した。取りあえず、3ペア撮影した。その内の最初のペアを下に示す。
グレースケール、640 x 480 ピクセルに変換した。
./stereo_calib コマンドを実行した。
3ペアを認識してくれた。。。
しかし、rectified ウインドウは真っ黒だった。
OpenCVのサンプルだと、左目カメラ画像と右目カメラ画像が表示されていた。
./stereo_calib コマンドが終了すると、extrinsics.yml と intrinsics.yml ができていた。
次に、stereo_match.cpp を使用して、2つのキャリブレーション・ファイルを入力して、左目カメラ画像と右目カメラ画像を補正してみた。(参考URLは、”
OpenCV 2.4.10 の stereo_match.cpp をやってみた”と
”OpenCV 2.4.10 の stereo_match.cpp をやってみた2”)
./stereo_match -i intrinsics.yml -e extrinsics.yml left0.jpg right0.jpgを実行した。
結果を下に示す。やはりおかしい。
./stereo_match -i intrinsics.yml -e extrinsics.yml left1.jpg right1.jpgも実行してみたが、やはりおかしい。
- 2016年03月11日 05:23 |
- ステレオカメラによる画像解析
-
| トラックバック:0
-
| コメント:0